У меня есть действие, и я использую класс FragmentStateAdapter (ViewPager2) для перемещения между двумя фрагментами, как в https://developer.android.com/training/animation/screen-slide-2.
Моя текущая проблема заключается в том, что когда я пытаюсь получить доступ к элементам представления второго фрагмента в моей деятельности:
TextView textViewOfFragmentB = (TextView) fragmentB.getView().findViewById(R.id.exampleTextViewOfFragmentB);
Я получаю:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.View android.view.View.findViewById(int)' on a null object reference
Когда я пытаюсь это сделать с первым фрагментом (этого слайдера), это работает. Возможно, потому что это первый фрагмент, который изначально виден?
Какие есть у меня возможности доступа к элементам представления обоих фрагментов, если один из них не виден / не создан?
Мой вариант использования это что-то вроде: у меня есть два фрагмента. Один показывает еду, а другой напитки. Фрагменты должны быть скользящими, поэтому на экране отображается только одна категория (аналогично: https://developer.android.com/training/animation/anim_page_transformer_zoomout.mp4). С помощью службы я получаю внешние данные для обеих категорий в моей MainActivity. Так что у меня уже есть все данные, которые мне нужны, в MainActivity. И эти данные я хочу разделить на оба фрагмента и отобразить их, например, Пицца: 4 $, а на другом фрагменте Коктейль: 5 $