我有位于操作栏中的操作栏和菜单。当我触摸硬菜单按钮时,Android getActionBar()返回null。
当我触摸硬菜单按钮getActionBar()
时返回null。
三在底部又是什么意思硬菜单按钮:
我可以防止应用为崩溃:if(getActionBar() != null) { // ... }
但是这不是我想做的事情。我需要修改操作栏项目(添加/删除)。所以我无法做到getActionBar()
返回null。
任何人都知道为什么getActionBar()
返回null?
UPDATE:
这里是我的代码:
@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后立即刷新,以显示点击后进度条):在BaseActivity
menuOnActionBar.findItem(R.id.menu_refresh).setActionView(null); // This throws an error.
而且menuOnActionBar
变量定义:
public static Menu menuOnActionBar;
时抛出的错误是:E/AndroidRuntime(4193): java.lang.NullPointerException
“第三个底部是我的意思是硬菜单按钮” - 基于图标,即RECENTS按钮,而不是MENU按钮。 – CommonsWare
@CommonsWare是真的,但我认为HTC允许改变它的行为像菜单按钮(因为用户对旧应用程序的投诉,屏幕上有一个巨大的菜单按钮)。 –
@JustWork可以请你展示一些代码吗?它不清楚你想要什么... –