У меня есть меню опций на моем 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;
}
}