Чего я хотел бы добиться:
У меня есть два разных фрагмента. Я хотел бы, чтобы они оба отображали одни и те же данные в двух формах (в списке и на карту). Я бы хотел, чтобы они совместно использовали один загрузчик (в частности, AsyncTaskLoader
). Все работает нормально, но загрузчик не используется повторно. Создается другой, и данные загружаются дважды.
Что я делаю:
В Fragment
я использую LoaderManager lm = getActivity().getSupportLoaderManager();
В обоих я реализую LoaderCallbacks
и необходимые методы.
В обоих я использую lm.initLoader(0, args, this);
.
Но когда я вывожу lm.toString()
, оказывается, что это два разных загрузчика. И данные загружаются дважды.
Как повторно подключиться к тому же загрузчику из другого действия/фрагмента, отличного от того, в котором он был запущен?
Это должно быть возможно, поскольку контекст в любом случае прикрепляется к загрузчику при каждом onCreate()
, например при изменении конфигурации.