2010-11-25 9 views
1

こんにちは私はいくつかの条件によって、私の活動に別のメニューを提示したいと思います。私はこのようにしてみました。アンドロイド:状況によってはメニューが異なる

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    MenuInflater inflater = getMenuInflater(); 
    if (specialMode) 
    { 
     inflater.inflate(R.menu.menuA, menu); 
    } 
    else 
    { 
     inflater.inflate(R.menu.menuB, menu); 
    } 
    return true; 
} 

ただし、specialModeの値に関係なく、常に同じメニューが表示されます。

+0

specialModeの値をデバッガまたはデバッグ出力でチェックしましたか? –

+0

はい、私はしました。 :-) – clamp

答えて

4

onCreateOptionsMenuは(最初の作成時に)1回だけ呼び出され、onPrepareOptionsMenuメソッドを使用すると、メニューが表示されるたびに呼び出されます。

+0

ありがとう、唯一の問題は、既存のものにメニュー項目を追加しているようだということです。 – clamp

+0

よく、menu.clear()はトリックをしました – clamp