我在setDisplayHomeAsUpEnabled
方法下面收到NullPointerException 警告。
if((getActivity()) != null) {
if(((AppCompatActivity) getActivity()).getSupportActionBar() != null) {
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(false);
}
}
我该如何解决这个问题?
答案 0 :(得分:1)
因为您没有对NullPointerException进行检查 ((AppCompatActivity)getActivity())。getSupportActionBar()给出actionbar对象
但你直接通过
打电话((AppCompatActivity)getActivity())。getSupportActionBar()。setDisplayHomeAsUpEnabled(false)
这就是系统为NullPointerException提供警告的原因。
if((getActivity()) != null) {
ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
if(actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(false);
}
}
上面的代码。您的警告将被删除。
答案 1 :(得分:0)
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
使用工具栏是首选。如果您使用工具栏并设置动作栏,则无需为NullPointerException设置chekc。
可能的原因是如果您尝试从活动上下文中执行此操作,您将获得NullpointerException。它必须在活动上下文中设置。
检查您的清单文件,如果您已将主题设置为NoActionBar并尝试访问操作栏,请将其更改为Apptheme。