我在操作栏中有操作栏和菜单。
当我触摸硬菜单按钮getActionBar()
时返回 null。
底部的第三个是我所说的硬菜单按钮:
我可以防止应用程序崩溃:if(getActionBar() != null) { // ... }
但这不是我想做的。我需要修改操作栏项目(添加/删除)。所以我不能在getActionBar()
返回null时做。
任何人都知道为什么getActionBar()
返回null?
更新:
这是我的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (getActionBar() != null) { // Action bar is null here when I click hard menu button.
getActionBar().setDisplayHomeAsUpEnabled(true);
}
// Some logical operations here.
// Get the menu.
BaseActivity.menuOnActionBar = menu;
return super.onCreateOptionsMenu(menu);
}
在我的活动中,刷新完成后,我删除了操作视图(在单击刷新后立即将操作视图设置为 xml 以显示进度条):
menuOnActionBar.findItem(R.id.menu_refresh).setActionView(null); // This throws an error.
和menuOnActionBar
变量定义BaseActivity
:
public static Menu menuOnActionBar;
抛出的错误是:E/AndroidRuntime(4193): java.lang.NullPointerException