Como posso alterar um MenuItem no menu Opções no Android?
Eu tenho um menu Opções no meuActivity
com umMenuItem
"Começar". Quando issoMenuItem
está selecionado, gostaria de alterar o menu para que ele contenha umMenuItem
"Pare". E, finalmente, quando "Stop" for selecionado, eu gostaria de voltar ao "Start".
Aqui está parte do meu código que não está funcionando. Eu tenho "Start" e "Stop" listados emmymenu.xml
Provavelmente eu deveria remover "parar" quando o menu for criado:
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;
}
}