java - NavigationDrawerFragment 不适用于 AppCompat 工具栏

标签 java android android-actionbar android-appcompat android-toolbar

我正在使用模板创建的 NavigationDrawer(在开始新项目时)。 我正在尝试获得 Material Design 兼容性,所以我正在使用 AppCompat v7。 我关注了these instructions将工具栏设置为我的 ActionBar(即在我的工具栏上使用 setSupportActionBar),然后我在我的 NavigationDrawerFragment 中(在 onCreateView 内)得到一个 NPE

 mDrawerListView.setAdapter(new ArrayAdapter<String>(
            getActionBar().getThemedContext(),
            android.R.layout.simple_list_item_activated_1,
            android.R.id.text1, ...

现在我怀疑问题出在 fragment 中的 getActionBar() 方法上:

   private ActionBar getActionBar() {
    return ((ActionBarActivity) getActivity()).getSupportActionBar();
}

但我不知道为什么 - 在调用 NavigationDrawerFragment 上的 setUp() 之前,我在 Activity 的 onCreate 中调用了 setSupportActionBar(toolbar)...

如果有人知道为什么会发生这种情况,请提供帮助!

最佳答案

问题似乎是 fragment 的 onCreateView 在 Activity 的 onCreate 之前被调用,因此没有设置 ActionBar。我只是将有问题的代码移到了 fragment 的 onActivityCreated 中,它就像一个魅力。

关于java - NavigationDrawerFragment 不适用于 AppCompat 工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26579225/

相关文章:

java - 将查询重定向到 google 并在 Json 对象中获取结果时出现 UnknownHostException

java - 如何使用 Jackson 从 JSON 中提取部分*原始*文本?

java - iText 5 : create PdfPcell containing 2 background colors with text overlap

android - 三星Note 3 : Activity Memory Leak after pressing SPen side button

android - 使用 Material 指标创建 android 工具栏

java - android 2.2 与 android v4.2 中的一个代码和不同的结果

当设备处于 sleep 模式时,Android GCM 通知不会出现

android - 无法在 Android 中为 Facebook 检索 https 格式的图像?

android - 如何将 Activity 中的工具栏背景颜色设置为 colors.xml 文件中的颜色?

android - 不同的操作栏适合不同的 Activity