0
我注意到,當我的活動實施onPrepareOptionsMenu() - 第一次按下效果不錯 - 從onPrepareOptionsMenu()的回調開始。但是當它仍然可見時(打開一些對話框),我想第二次按關閉它(觸發回調關閉對話框) - 第二次按菜單按鈕不會觸發onPrepareOptionsMenu()。不知道爲什麼android onPrepareOptionsMenu doen't第二次按下菜單按鈕
這是我如何實現它:
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if (onDoneListener != null) {
onDoneListener.OnDone();
}
return false;
}
EDIT1:
我的評論者的幫助,但仍然沒有運氣後添加下一個功能。 OnKeyDown()也沒有收到下一個菜單按鈕。它看起來像菜單按鈕不會得到事件,直到我按下後退按鈕。這裏是代碼:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
if (onDoneListener != null)
onDoneListener.onDone();
}
return super.onKeyDown(keyCode, event);
}
我也試圖返回true和false,但不是運氣。
是的,但我返回false,並根據文檔「您必須返回true才能顯示菜單;如果您返回false,它將不會顯示。」所以菜單真的不可見 – Nativ 2013-03-12 11:39:03
eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeh? – slezica 2013-03-12 23:36:17
如果菜單沒有加載,所以它有意義,這個函數被再次調用。無論如何,你知道我每次按下菜單按鈕時怎樣才能打電話給我的回叫?謝謝 – Nativ 2013-03-13 08:58:01