【问题标题】:In Navigation Drawer, getActionBar().setDisplayHomeAsUpEnabled(true); throws NullPointerException在导航抽屉中,getActionBar().setDisplayHomeAsUpEnabled(true);抛出 NullPointerException
【发布时间】:2016-01-17 05:03:38
【问题描述】:

我正在尝试在登录后在我的欢迎页面中创建导航抽屉。但是

getActionBar().setDisplayHomeAsUpEnabled(true);

抛出空指针异常。在 logcat 中,我收到了消息:

Caused by: java.lang.NullPointerException
at com.samvardhan.org.vaccinationinfo.ProfileActivity.onCreate(ProfileActivity.java:170)

我正在使用

Theme.AppCompat.NoActionBar .我试图将主题更改为

android:theme="@android:style/Theme.Holo.Light"

这也没有用。我想使用

Theme.AppCompat.NoActionBar

如何解决这个问题。这个

getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);

不应该给我空值。这个 getActionBar() 给了我空值。我该如何解决这个主题相同的问题。

【问题讨论】:

  • 如果没有操作栏,则getActionBar() 返回 null...我不明白您要做什么
  • @paudel.saulav 您是否将任何视图设置为操作栏?? getSupportAction.setActionView( e.g toolbar> )
  • @cricket_007,我正在尝试制作导航抽屉。那里我需要 getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true);

标签: android navigation-drawer android-theme


【解决方案1】:

用途:

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">

在您的Styles 中,并确保您已在您的XML 中添加Toolbar

示例:

<android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                android:background="?attr/colorPrimary"
                app:popupTheme="@style/AppTheme"/>

当然,在你的OnCreate

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

并将其用于AppCompat

getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeButtonEnabled(true);

这应该可以解决您的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多