Как я могу изменить элемент меню в меню параметров на Android?

У меня есть меню параметров в моем Activity с MenuItem «Пуск». Когда выбран этот MenuItem , я хотел бы изменить меню, чтобы оно содержало MenuItem «Стоп». И, наконец, когда выбрано «Стоп», я хотел бы вернуться к «Старт».

Вот некоторые части моего кода, которые не работают. У меня есть и «Пуск», и «Стоп», перечисленные в mymenu.xml Мне, вероятно, следует удалить «стоп» при создании меню:

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;
    }
}
43
задан Jonas 16 November 2010 в 22:48
поделиться