Скрытие меню с панели инструментов на определенном фрагменте в рамках одного действияAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Скрытие меню с панели инструментов на определенном фрагменте в рамках одного действия

Сообщение Anonymous »

У меня есть действие, содержащее несколько фрагментов.
Как только первый фрагмент попадает в действие, он раздувает некоторое меню (на самом деле только одну кнопку действия) в макете AppBar действия:

Код: Выделить всё

override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
super.onCreateOptionsMenu(menu, inflater)
inflater.inflate(R.menu.menu_info, menu)
}
Как только пользователь перейдет ко второму фрагменту того же действия, эта кнопка действия должна быть скрыта. Я не могу этого добиться (см. мои решения ниже).
Итак, обычно возникает вопрос:
Как скрыть меню от активности AppBarLayout только для некоторых фрагментов в стеке?
ПРИМЕЧАНИЕ. Мне не нужно скрывать всю панель инструментов (заголовок все равно должен отображаться, я хочу скрыть только кнопку действия!)
Я пробовал разные решения, которые, к сожалению, не работают:
  • Вызовите setHasOptionsMenu(false) во втором фрагменте (пробовал как в onCreate, так и в onCreateView)
  • Вызовите Activity.invalidateOptionsMenu() в разных обратных вызовах фрагмента, а затем попытайтесь скрыть элемент меню в onCreateOptionsMenu, которое следует вызвать снова после вызова недействительным. Но я вижу, что он не вызывается даже после вызова недействительности:

Код: Выделить всё

override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
menu.forEach {
it.isVisible = false
}
}
Также пробовал объединить все эти решения, но не получилось - кнопка все равно отображается на втором фрагменте.

Подробнее здесь: https://stackoverflow.com/questions/774 ... e-activity
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»