Хобрук: Ваш путь к мастерству в программировании

Почему мой Android ActionBar не обновляется, когда он явно изменен

Я много раз видел вопросы на SO, связанные с этим. Поэтому я решил опубликовать причину, по которой это происходит, а также решение, чтобы многие пользователи SO получили ответ.

В течение некоторого времени я видел повторяющуюся проблему, когда я менял заголовок ActionBar, и он становился короче, чем должен. Другим признаком этого является то, что ваш заголовок переносится, когда он не должен, или просто остается полностью пустым. Когда вы изменяете кнопки панели действий, они не будут обновляться правильно, и я останусь либо без кнопок панели действий, даже если они определенно были добавлены, либо удвоятся на существующих кнопках панели действий.

Оказывается, это относительно прямой вопрос. В основном это происходит, когда вы используете ViewPager с getChildFragmentManager() для управления фрагментами.


Ответы:


1

Фрагмент, содержащий ViewPager и дочерние Fragment, созданные вашим адаптером, также должен вызывать setHasOptionsMenu(true); в своих методах onCreate(), чтобы все события меню параметров передавались дочерним фрагментам, а затем их дочерним элементам и т. д.

Просто действительно, если подумать. Но это всего лишь одна из тех вещей.

Надеюсь, это поможет, и я приветствую ваши комментарии, Саймон

06.06.2014
  • Все еще возникает проблема, если fragment, который устанавливает заголовок, не способствует options menu. Мое единственное предположение состоит в том, что если это действительно способствует, ширина пересчитывается. Задокументирована проблема в этом вопросе. 15.08.2014
  • Ваше решение работает как шарм. Боролся от стольких дней. Ни одно из решений не работает, кроме этого. Большое спасибо за отличное решение! 26.04.2016
  • Новые материалы

    Dall-E 2: недавние исследования показывают недостатки в искусстве, созданном искусственным интеллектом
    DALL-E 2 — это всеобщее внимание в индустрии искусственного интеллекта. Люди в списке ожидания пытаются заполучить продукт. Что это означает для развития креативной индустрии? О применении ИИ в..

    «Очень простой» эволюционный подход к обучению с подкреплением
    В прошлом семестре я посетил лекцию по обучению с подкреплением (RL) в моем университете. Честно говоря, я присоединился к нему официально, но я редко ходил на лекции, потому что в целом я нахожу..

    Освоение информационного поиска: создание интеллектуальных поисковых систем (глава 1)
    Глава 1. Поиск по ключевым словам: основы информационного поиска Справочная глава: «Оценка моделей поиска информации: подробное руководство по показателям производительности » Глава 1: «Поиск..

    Фишинг — Упаковано и зашифровано
    Будучи старшим ИТ-специалистом в небольшой фирме, я могу делать много разных вещей. Одна из этих вещей: специалист по кибербезопасности. Мне нравится это делать, потому что в настоящее время я..

    ВЫ РЕГРЕСС ЭТО?
    Чтобы понять, когда использовать регрессионный анализ, мы должны сначала понять, что именно он делает. Вот простой ответ, который появляется, когда вы используете Google: Регрессионный..

    Не зря же это называют интеллектом
    Стек — C#, Oracle Опыт — 4 года Работа — Разведывательный корпус Мне пора служить Может быть, я немного приукрашиваю себя, но там, где я живу, есть обязательная военная служба на 3..

    LeetCode Проблема 41. Первый пропущенный положительный результат
    LeetCode Проблема 41. Первый пропущенный положительный результат Учитывая несортированный массив целых чисел, найдите наименьшее пропущенное положительное целое число. Пример 1: Input:..