cambiar la visibilidad del elemento de menú cuando se hace clic
Estoy tratando de esconder unoMenuItem
y hacer otra visible cuando se selecciona la primera.
Las identificaciones de cada uno son:
pencil: R.id.button_routines_edit
check mark: R.id.button_routines_edit_done
Aquí el código relevante:
private boolean isEditing = false;
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.button_routines_edit:
// hide pencil icon, show checkmark
isEditing = true;
return true;
case R.id.button_routines_edit_done:
// show pencil icon, done editing
isEditing = false;
return true;
default:
return super.onOptionsItemSelected(item);
}
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
// hide pencil when editing and show check mark
menu.findItem(R.id.button_routines_edit).setVisible(!isEditing);
menu.findItem(R.id.button_routines_edit_done).setVisible(isEditing);
return true;
}
Mi problema es: el menú de opciones no vuelve a dibujar los elementos cuando se seleccionan. En otras palabras, el primero no está oculto y el segundo no se muestra.