[Android] Изменение меню во время работы приложения
Структура меню (Options Menu) обычно задается в XML файле, находящемся в ресурсах приложения. Но иногда нужно изменить содержание меню во время работы программы.
Эти действия должны выполняться в методе onPrepareOptionsMenu, который будет вызываться системой всякий раз, когда пользователь открывает меню. К примеру есть некое действие, который нужно по желанию пользователя запустить или остановить, и его состояние описывается флагом process_status. Тогда метод выглядит примерно так:
@Override public boolean onPrepareOptionsMenu(Menu menu) { if(process_status) { menu.findItem(R.id.start_stop).setTitle("Stop"); } else { menu.findItem(R.id.start_stop).setTitle("Start"); } return super.onPrepareOptionsMenu(menu); }
В зависимости от статуса пункт меню называется либо Stop либо Start, идентификатор пункта меню в XML файле - start_stop.
Там же можно добавлять/удалять пункты меню, менять значки и т.п. Развлеките пользователя каждый раз новым неузнаваемым меню ;) и удивитесь рейтингу вашего приложения в маркете!
Обновлено 19.06.2011 16:13
