Загрузка фрагмента, чья вложенная структура макета идентична второму макету активности - PullRequest
0 голосов
/ 15 апреля 2020

Я сделаю все как можно проще, чтобы стимулировать обсуждение и ответы.

У меня есть второе действие, которое расширяет FragmentActivity. Второе действие имеет вложенный макет

<FrameLayout  with **iD = mainframe**
 <ConstraintLayout with **iD = mainConstrained**

mainConstrained имеет тег, который включает в себя FrameLayout с вложенным LinearLayout

, действие загружает два фрагмента фрагмента1 и фрагмента2. Оба фрагмента загружают свои макеты с помощью методов onCreateView внутри своих классов Fragment.

Проблема заключается в том, что макет фрагмента 2 загружается неправильно (кнопки не показывают центрированный текст, а текст располагается вертикально)

Структура макета фрагмента2 выглядит следующим образом:

<FrameLayout
<ConstraintLayout

фрагмент2 добавлен следующим образом :action.add (R.id.mainFrame, фрагмент2);

При добавлении таким способом фрагмент2 будет загружаться, но, похоже, не загружать атрибуты .

Однако, когда я нажимаю квадратную кнопку на экране моего телефона внизу, и он показывает все приложения, к которым я недавно перешел ( многооконный режим ), а затем возвращаюсь к моему Неисправное приложение, расположение фрагмента 2 отображается правильно.

Это побудило меня попытаться получить доступ к неисправному фрагменту внутри его метода onAttach, чтобы я попытался сделать requestLayout или requestFocus в иерархии представления, которая составляет фрагмент 2 .

Я пытался имитировать c поведение нажатия квадратной кнопки внутри моего кода , чтобы вынудить компоновку фрагмента 2 перефокусироваться с помощью надежда на отображение правильного центрированного текста и стиля внутри кнопок.

Еще одно странное событие заключается в том, что вместо добавления фрагмента 2 в мэйнфрейм, но в mainConstrained как таковое:

transaction.add(R.id.mainConstrained, fragment2);

загружается правильно . Все кнопки имеют центрированный текст, а текст расположен не по вертикали. Однако компоновка фрагмента 2 загружается за представлениями mainConstrained, а это не то, что мне нужно.

У меня вопрос , как мне сделать компоновку фрагмента2 загрузки правильно?

У меня есть какие-либо предложения по этой проблеме с фрагментами.

...