我的代码中有一行标记为黄色:
getSupportActionBar().setDisplayShowHomeEnabled(true);
安装appcompat-v7:22.1后 ,它会显示一个提示:
“方法调用可能产生 java.lang.nullpointerexception”。
应该用什么代替getSupportActionBar()
?
我的代码中有一行标记为黄色:
getSupportActionBar().setDisplayShowHomeEnabled(true);
安装appcompat-v7:22.1后 ,它会显示一个提示:
“方法调用可能产生 java.lang.nullpointerexception”。
应该用什么代替getSupportActionBar()
?
getSupportActionBar().setDisplayShowHomeEnabled(true);
应该说
if (getSupportActionBar() != null)
{
getSupportActionBar().setDisplayShowHomeEnabled(true);
}
getSupportActionBar() 可以返回 null 所以你的提示告诉你这个。
我找到了另一种方法,使用AppCompatDelegate:
getDelegate().getSupportActionBar().setDisplayHomeAsUpEnabled(true);
If you're extending a Theme.AppCompat
which has an action bar or have called setSupportActionBar(...)
yourself, calling getSupportActionBar()
is safe.
To get around the warning do a null check or
assert getSupportActionBar() != null;
which will throw an exception if the expression is not true. Both have their uses.
NoActionBar
在样式中使用吗?验证您style.xml
或您的主题,if("NoActionBar") => nullpointer =D