title: How can I alter a MenuItem on the Options Menu on Android?
body: <p>I have an Options Menu on my <code>Activity</code> with an <code>MenuItem</code> "Start". When this <code>MenuItem</code> is selected I would like to alter the Menu so it contains a <code>MenuItem</code> "Stop". And finally when "Stop" is selected, I would like to alter back to "Start".</p>
  
  <p>Here is parts of my code that isn't working. I have both "Start" and "Stop" listed in <code>mymenu.xml</code> I should probably remove "stop" when the menu is created:</p>
  
  <pre><code>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;
      }
  }
  </code></pre>