【发布时间】:2015-05-21 07:24:45
【问题描述】:
更新
我没有提到任何关于使用 ToolBar 和 ActionBarActivity 的内容。这就是我总是得到空指针异常的原因。对于那些面临同样问题的人please refere this answer
我有这个片段代码来更改片段更改时支持操作栏的外观。
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
mActionBar = ((ActionBarActivity)getActivity()).getSupportActionBar();
SpannableString s = new SpannableString("Dashboard");
s.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.app_blue_text)), 0, s.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
s.setSpan(new TypefaceSpan(getActivity(), "Optima-Regular.ttf"), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
if( null!= mActionBar){
mActionBar.setElevation(0);
mActionBar.setTitle(s);
}
}
我已经提到过有关如何解决此错误的先前/类似问题。这些解决方案建议在onActivityCreated() 方法中更改操作栏的外观。我也试过onAttach()。似乎没有一个工作。我使用支持操作栏来保持向后兼容性。 Activity 也相应地转换为 ActionBarActivity。
完整的代码很长,所以我跳过了发布它。如果需要,我可以发布完整的代码并更新问题以及更多详细信息。
错误日志
Caused by: java.lang.NullPointerException
at com.example.testapp.fragments.NavigationDrawerFragment.onActivityCreated(NavigationDrawerFragment.java:215)
第 215 行是:mActionBar.setElevation(0);
【问题讨论】:
-
你的问题到底是什么?
-
@hrskrs 检查标题
-
我也添加了错误日志。
-
你是导入import android.app.ActionBar还是import android.support.v4.app.actionbar?
-
@Fahim 我用过
android.support.v7.app.ActionBar;
标签: android android-fragments android-actionbar android-appcompat android-actionbar-compat