「スタート」のActivity
あるオプションメニューがあります。MenuItem
これを選択したら、 「停止」MenuItem
が含まれるようにメニューを変更したいと思います。MenuItem
そして最後に「停止」を選択したら「開始」に戻したいと思います。
これが私のコードの機能していない部分です。「開始」と「停止」の両方がリストされmymenu.xml
ています。メニューが作成されたら、おそらく「停止」を削除する必要があります。
public class MyActivity extends Activity {
private boolean isStarted = false;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
menu.removeItem(R.id.stop);
inflater.inflate(R.menu.mymenu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.start:
isStarted = true;
return true;
case R.id.stop:
isStarted = false;
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
if(isStarted) {
menu.removeItem(R.id.start);
menu.add(R.id.stop);
} else {
menu.removeItem(R.id.stop);
menu.add(R.id.start);
}
return true;
}
}