zmień widoczność MenuItem po kliknięciu

Próbuję to ukryćMenuItem i uczyń innym widocznym po wybraniu pierwszego.

Identyfikatory dla każdego z nich to:

pencil: R.id.button_routines_edit
check mark: R.id.button_routines_edit_done

Tutaj odpowiedni kod:

  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;
  }

Moim problemem jest: Menu opcji nie przerysowuje elementów, gdy są zaznaczone. Innymi słowy, pierwszy nie jest ukryty, a drugi nie jest widoczny.

questionAnswers(2)

yourAnswerToTheQuestion