Проблема следующая. У нас есть 3 вкладки с фрагментами:Связь между различными экземплярами одного и того же фрагмента
- Вкладка 1 (фрагмент А). Необходимо отправить данные на вкладку 2.
- Вкладка 2 (фрагмент B). Требуется получить данные из Таб. 1.
- Вкладка 3 (фрагмент B). Уже содержит данные.
Как вы видите, Tab 3 и Tab 2 содержат один и тот же фрагмент, но разные экземпляры.
Как отправить данные (не через аргументы) точно в Tab 2?
Что я пробовал:
- Установите уникальный идентификатор фрагмента B через аргументы, когда они были созданы.
- Регистр же
Local Broadcast Receiver
для обоих случаев фрагмента B - Отправить данные из фрагмента A фрагменту B с ID
- В Фрагмент B
onReceive()
проверки, если Recevied ID равен ID фрагмента
Но, к сожалению трансляции был отправлен только на Tab 3.
EDIT: еще немного информации.
Эти вкладки размещены внутри другого фрагмента с помощью ViewPager
. Это связано с комбинацией NavigationDrawer
, которая имеет фрагмент с ViewPager
и вкладками, о которых идет речь.
Почему вы не позволяете фрагменту A отправлять данные в свою деятельность, и позволяет вам передавать вам фрагмент B? –
Вы видите, что нет никаких проблем при отправке данных. Проблема заключается в отправке данных ТОЧНО в первый экземпляр фрагмента B – AnZ
Я думаю, что BroadcastReceiver занимает слишком много памяти и представляет собой асинхронный процесс, который, как я думаю, вам не нужен. И у него есть проблемы с безопасностью. –