Когда пользователь нажимает кнопку «Меню», я представляю несколько пунктов меню. Одна из них - кнопка «Выйти». Я хочу иметь возможность изменять текст между «Вход» и «Выход» в зависимости от отслеживаемого логического значения. Как программно изменить текст в меню?

1
Sheehan Alam 4 Май 2011 в 01:45
В методе "onCreateOptionsMenu" выполните "this._menu = menu;" в вашем собственном методе выполните "MenuItem item = _menu .findItem (1); item.setTitle (" test ");"
 – 
Yousha Aleayoub
20 Сен 2015 в 22:07

2 ответа

Лучший ответ

Вы хотите переопределить функцию onPrepareOptionsMenu в Activity. Передается параметр меню, вы можете просто найти элемент меню, который вы хотите показать / скрыть (или изменить изображение и текст), и вернуть true.

onPrepareOptionsMenu

3
runor49 4 Май 2011 в 01:55
Идеально - намного лучше, чем изменять элемент во время onOptionsItemSelected ()!
 – 
SMBiggs
19 Ноя 2012 в 23:19

Переопределить / реализовать обратный вызов onPrepareOptionsMenu(...). Измените то, что вы добавляете, в зависимости от вашего состояния входа.

В качестве альтернативы, я не тестировал это, но, на мой взгляд, это работает: когда вы создаете элементы меню, сохраняйте дескриптор элемента входа / выхода в переменной класса и просто обновляйте его, вызывая setTitle(...) как нужный.

3
LeffelMania 4 Май 2011 в 01:54