我有以下代码来检测智能手机何时旋转并隐藏操作栏:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) {
getActionBar().hide();
}
else {
getActionBar().hide();
}
}
应用程序抛出一个空指针exeption:
java.lang.NullPointerException: Attempt to invoke virtual method 'void android.app.ActionBar.hide()' on a null object reference
智能手机旋转时
答案 0 :(得分:0)
您当前的代码是多余的。 getActionBar().hide() is always called, regardless of the new configuration being portrait or landscape.
此外,
你似乎需要在那里进行空检查
if(getActionBar() != null)
getActionBar().hide()
我不知道你想做什么,但这看起来并不正确。为什么不在onCreate
:
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
...
getActionBar().hide()