@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater mi = getMenuInflater();
mi.inflate(R.menu.menu, menu);
// TODO 自動生成されたメソッド・スタブ
return super.onCreateOptionsMenu(menu);
}
ゲームなんかの場合、メニューボタンが押されたらゲームをポーズしたい、ということがある。
それならばと、onCreateOptionsMenuの中にゲームをポーズさせる処理を入れてみても一度しかポーズにならない。調べてみると、onCreateOptionsMenuはそもそも初めてメニューボタンを押した時の一度しか呼び出されないものなのだそうだ。
ならばどうするか、ということだが、onPrepareOptionsMenuというメソッドがあり、こちらはメニューボタンが押されるたびに毎回呼び出される。なので、こいつをオーバーライドしてゲームをポーズさせる処理を入れるとうまくいった。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
//メニューボタンが押されたらゲームをポーズ状態にする
mGameView.setMode(GameView.PAUSE);
// TODO 自動生成されたメソッド・スタブ
return super.onPrepareOptionsMenu(menu);
}
今回参考にさせていただいたページはこちら。
0 件のコメント:
コメントを投稿