Меню переполнения панели инструментов иногда выравнивается по левой стороне экрана - PullRequest
0 голосов
/ 09 октября 2019

Мое приложение имеет несколько фрагментов и пользовательскую панель инструментов в MainActivity. Панель инструментов надувается на мой первый фрагмент, но не на другие фрагменты. Это работало отлично в течение нескольких месяцев. Но совсем недавно всплывающее меню переполнения периодически появлялось выровненным по левому краю экрана, а не по правому:

image

Принимая во внимание, что большую часть времени,он появляется именно там, где и должен:

image

Последние изменения в моем приложении включают getActivity.recreate() при возврате из другого действия в MainActivity. Существует также getActivity.recreate(), вызываемый после возврата результата нажатия кнопки. Не очень элегантно, но все представления во Фрагментах зависят от результатов, и легче воссоздать партию, так как это происходит не очень часто.

Возможно, мое меню переполнения отключилось отпанель инструментов между нажатиями кнопок и MainActivity уничтожается и воссоздается?

Я не уверен, где разместить проверку для getActivity == null и getActivity.isDestroyed относительно того, когда появляется меню переполнения - если это вызываетсмысл?

1 Ответ

0 голосов
/ 28 октября 2019

В самом начале моего OnMenuItemClickListener я проверял, что getActivity() было != null, !isFinishing() или !isDestroyed(), прежде чем приступить к проверке, какой элемент меню был нажат. Однако я не проверял, чтобы моя ViewGroup, к которой был добавлен макет фрагмента, была null. Добавление нулевой проверки для этого привело к исчезновению проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...