【发布时间】:2016-03-17 08:58:29
【问题描述】:
我在我的活动中添加了一个工具栏,并试图在我的片段中访问它以更改后退导航的标题和图标,但是我一直收到错误
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.setDisplayHomeAsUpEnabled(boolean)' on a null object reference
当我运行我的应用程序以及一些关于可能对象为空的警告。我知道这与getsupportactionbar 有关
但是我无法弄清楚我做错了什么
这里是在activity中声明工具栏的代码
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
片段中工具栏的引用和更改代码
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);
((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayShowHomeEnabled(true);
以及在xml中声明工具栏的代码
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorAccent"
android:layout_alignParentTop="true"
app:popupTheme="@style/AppTheme.PopupOverlay" />
如果有帮助,我正在使用appcompatactivity
【问题讨论】:
标签: android android-fragments android-appcompat android-toolbar