我有位於操作欄中的操作欄和菜單。當我觸摸硬菜單按鈕時,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可以請你展示一些代碼嗎?它不清楚你想要什麼... –