我正在使用由模板创建的NavigationDrawer(启动新项目时)。我试图获得与Material Design的兼容性,所以我在使用AppCompat v7。我按照以下说明将工具栏设置为ActionBar(即,使用工具栏上的setSupportActionBar),并在NavigationDrawerFragment中的(在onCreateView内)获得了NPE。
mDrawerListView.setAdapter(new ArrayAdapter<String>(
getActionBar().getThemedContext(),
android.R.layout.simple_list_item_activated_1,
android.R.id.text1, ...
现在我怀疑问题出在片段里面的getActionBar()方法:
private ActionBar getActionBar() {
return ((ActionBarActivity) getActivity()).getSupportActionBar();
}
但我不知道为什么-我在NavigationDrawerFragment上调用setUp()之前在Activity的onCreate中调用了setSupportActionBar(toolbar)...
如果有人知道为什么会发生这种情况,请帮忙!
似乎问题在于,在活动的onCreate之前调用了片段的onCreateView,因此没有设置ActionBar。我只是将有问题的代码移到了片段的onActivityCreated中,它的工作就像一个魅力。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句