2012-10-11 64 views
0

我正在使用OpenGL進行遊戲。如果我按菜單按鈕,遊戲應該暫停,然後打開選項菜單,但是當我按下菜單按鈕時,遊戲暫停並且選項菜單打開一瞬間,然後自動關閉。這裏是我的代碼:選項菜單意外關閉

@Override 
public boolean onKeyUp(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_MENU) {//klo press tombol menu hrs dipause 
    SFEngine.newGame = false; 
     gameView.onPause(); 
     openOptionsMenu(); 
    } 
    return true; 
} 

是什麼導致我的菜單關閉?

更新:

public boolean onPrepareOptionsMenu(Menu menu){ 
    gameView.onPause(); 
    return true; 
} 

不會當比賽開始onPrepareOptionMenu也被稱爲?

回答

0

我懷疑Android可能會打開某種內部onClick回調的選項菜單,這與您的onKeyUp一致。這導致兩個openOptionsMenu調用幾乎同時執行,第二個調用關閉菜單。

也許它會更好地讓android活動管理選項菜單,而不是竊取按鍵?您可以暫停onPrepareOptionsMenu中的gameView,在這種情況下,您不必竊取按鍵。

+0

它解決了這個問題,但現在看來每次我開始遊戲時,屏幕只是因爲onPrepareOptionMenu而變成空白,我會更新我的新代碼 –

+0

@StephenAdipradhana - 嗯,如果你斷點有執行onPrepare每次活動開始?它似乎不會從描述:*這是在菜單顯示之前調用,每次顯示時都會調用。* – Tim

+0

是的,它被執行了,但是我解決了它以另一種方式使用它。 thx尋求幫助 –