Когда пользователь нажимает кнопку «Меню», я представляю несколько пунктов меню. Одна из них - кнопка выхода. Я хочу иметь возможность изменять текст между «Sign In» и «Sign Out» в зависимости от логического значения, которое я отслеживаю. Как я могу программно изменить текст в меню?Как программно изменить элемент в меню параметров?
ответ
Вы хотите переопределить функцию onPrepareOptionsMenu в Activity. Параметр меню передан, вы можете просто найти элемент меню, который вы хотите показать/скрыть (или изменить изображение и текст), и вернуть true.
Perfect - намного лучше, чем менять элемент во время onOptionsItemSelected()! –
Завершение/Внедрение обратного вызова onPrepareOptionsMenu(...)
. Измените то, что вы добавите, в зависимости от состояния входа.
В качестве альтернативы, я не тестировал это, но, на мой взгляд, он работает: когда вы создаете элементы меню, держите дескриптор элемента входа/выхода в переменной класса и просто обновляете его, вызывая setTitle(...)
как необходимо.
в методе "onCreateOptionsMenu" делать "this._menu = меню;" в собственном методе ur «MenuItem item = _menu .findItem (1); item.setTitle (« test »); –