Как получить один и тот же экземпляр дочерних фрагментов (имеющих recyclerview) во всех фрагментах viewpager?
Я застрял в ситуации, когда у меня есть обзор повторов с данными об элементах, и мне нужно выбрать один и тот же экземпляр во всех фрагментах (три) окна просмотра, чтобы работать с одним и тем же просмотрщиком.
Что я сделал:
Я сделал один отдельный фрагмент имен как ItemListFragment с общими кнопками и опциями в списке, и теперь пытаюсь добавить его в качестве дочернего фрагмента в мои фрагменты окна просмотра. Я могу добавить их как дочерний фрагмент, но на этом этапе мне нужно создать 3 разных ItemListFragment для всех PrentFragments.
Пожалуйста, помогите мне преодолеть эту ситуацию или предложите любой другой способ использования общего списка переработчиков во всех трех фрагментах. Я искал stackru, но ничего не помогло.
Вот изображение, чтобы получить представление о ситуации:
1 ответ
В этом случае вы можете попробовать использовать метод глобальной статической ссылки.
Объявите свое дочернее представление в классе Application (класс, который расширяет класс Application Android).
public class AppController extends Application{
public static final String LOG_TAG = ApplicationController.class
.getSimpleName();
// Application Instance
private static ApplicationController applicationController = null;
public static ListView childview;
public static ChildAdapter childAdapter;
@Override
public void onCreate() {
super.onCreate();
applicationController = this;
}
}
Теперь в любом из ваших фрагментов предположим, что фрагмент A проверяет глобальный объект childFragment, имеет ли он нулевое значение или нет, если его нулевое значение инициализирует его обычно, как и другие фрагменты chilfragment, поскольку его ссылка является глобальной, varibale в AppController теперь содержит экземпляр childfragment.
Теперь во Фрагменте B проверьте, является ли глобальная ссылка нулевой или нет, так как вы инициализировали ее во Фрагменте A, вы не получите ноль, теперь присоедините childFragment к Фрагменту B, как обычные дочерние фрагменты.