Форум программистов, компьютерный форум CyberForum.ru

Программно скрыть элемент меню - Android

Восстановить пароль Регистрация
 
antojgo
11 / 11 / 6
Регистрация: 23.07.2015
Сообщений: 62
Завершенные тесты: 1
30.07.2015, 01:02     Программно скрыть элемент меню #1
подскажите, у меня есть ToolBar в качестве ActionBar, к нему прикреплен Menu с одним элементом, и вот мне надо в зависимости от действий в программе, показывать и скрывать этот элемент.
подскажите как можно это реализовать?
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.07.2015, 01:02     Программно скрыть элемент меню
Посмотрите здесь:

Как программно добавить элемент в уже существующий layout? Android
Android Хочу сделать подписи к меню, меню у меня создано ListView, есть два массива, как их передать в адаптер?
Скрыть файлы Android
Android Скрыть/показать ImageView
Android Меню только по нажатию кнопки меню
Android Скрыть клавиатуру
Android По умолчанию меню тулбара является прозрачным и сливается с фоном, как изменить фон текста меню?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
30.07.2015, 07:30     Программно скрыть элемент меню #2
onPrepareOptionsMenu
antojgo
11 / 11 / 6
Регистрация: 23.07.2015
Сообщений: 62
Завершенные тесты: 1
30.07.2015, 08:23  [ТС]     Программно скрыть элемент меню #3
а как вызвать это событие?
у меня под ToolBar стоит SlidingTabs и вот по переключению этих табов хочу менять видимость кнопки, но в onPrepareOptionsMenu не заходит
Паблито
не спать!
1882 / 1616 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
30.07.2015, 08:32     Программно скрыть элемент меню #4
как вариант, у тебя наверняка есть подобный метод
Java
1
2
3
4
5
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }
так вот, раньше, в активити заводишь приватную переменную private Menu menu;
и в этом методе сохраняешь меню в эту переменную

ну а дальше просто - когда табы слайдятся, наверняка у тебя отрабатывает какой-то метод, вот там и делай
с этим меню что угодно, например так
Java
1
menu.getItem(0).setEnabled(false);
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
30.07.2015, 09:39     Программно скрыть элемент меню #5
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от antojgo Посмотреть сообщение
но в onPrepareOptionsMenu не заходит
Инициализировать надо меню сперва setHasOptionsMenu(true), затем в onCreateOptionsMenu указать файл, а в onPrepareOptionsMenu делай типа
Java
1
menu.findItem(R.id.load).setVisible(false);
Паблито
30.07.2015, 09:41
  #6

Не по теме:

он хочет меня состояние элемента меню при слайдинге табов, а не только при создании
я так понял

antojgo
11 / 11 / 6
Регистрация: 23.07.2015
Сообщений: 62
Завершенные тесты: 1
30.07.2015, 09:54  [ТС]     Программно скрыть элемент меню #7
именно это и хочу, у меня есть 4 вкладки, и на четвертой хочу прятать единственную кнопку в меню, но по возврату на первые три вкладки кнопку хочу вернуть
Паблито
не спать!
1882 / 1616 / 500
Регистрация: 12.05.2014
Сообщений: 5,836
Завершенные тесты: 1
30.07.2015, 09:57     Программно скрыть элемент меню #8
мой ответ читал, или ты ждешь полностью готовый код, который надо просто скопипастить в свой проект без изменений и все заработает?
antojgo
11 / 11 / 6
Регистрация: 23.07.2015
Сообщений: 62
Завершенные тесты: 1
30.07.2015, 10:35  [ТС]     Программно скрыть элемент меню #9
в onPrepareOptionsMenu пробовал такой вариант
Java
1
menu.findItem(R.id.load).setVisible(false);
но возможно не вызывал этот метод
setHasOptionsMenu(true)
Добавлено через 30 минут
Цитата Сообщение от Паблито Посмотреть сообщение
мой ответ читал, или ты ждешь полностью готовый код, который надо просто скопипастить в свой проект без изменений и все заработает?
не надо записывать меня в халявщики, только потому что не ответил через 15 минут
андроидом занимаюсь в свободное время, по вечерам, по этому проверить смогу только вечером
сейчас хочу, пока есть время, узнать возможные причины, почему не заработало у меня и варианты решения
Паблито
30.07.2015, 10:38
  #10

Не по теме:

я на время не смотрел вообще, просто вижу что ты отвечаешь и на какое сообщение, потому и спросил

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2015, 13:23     Программно скрыть элемент меню
Еще ссылки по теме:

Android скрыть клавиатуру
Android Скрыть элемент View после ввода логина и пароля на другом активити
Android Ошибка при попытке скрыть элемент
Нажатие на элемент меню в Actionbar Android
Добавить значок бонуса в элемент меню Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Rube
910 / 558 / 87
Регистрация: 13.02.2014
Сообщений: 2,066
30.07.2015, 13:23     Программно скрыть элемент меню #11
Цитата Сообщение от Паблито Посмотреть сообщение
он хочет меня состояние элемента меню при слайдинге табов, а не только при создании
Ну у меня также реализовано в одном приложении, листаю таб - иконка меняется. Все это во фрагменте в onPrepareOptionsMenu в зависимости от номера таба.
Yandex
Объявления
30.07.2015, 13:23     Программно скрыть элемент меню
Ответ Создать тему
Опции темы

Текущее время: 19:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru