¿Cómo puedo modificar un MenuItem en el menú de opciones en Android?
Tengo un menú de opciones en miActivity
con unMenuItem
"Comienzo". Cuando estoMenuItem
está seleccionado Me gustaría modificar el Menú para que contenga unMenuItem
"Detener". Y finalmente, cuando se selecciona "Parar", me gustaría volver a "Iniciar".
Aquí hay partes de mi código que no funcionan. Tengo ambos "Inicio" y "Detener" en la listamymenu.xml
Probablemente debería eliminar "detener" cuando se crea el menú:
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;
}
}