1

Hy, я довольно новичок в разработке Android и некоторое время пытаюсь установить связь между моим пользовательским фрагментом диалога, который расширяет DialogFragment и содержит четыре кнопки и фрагменты из пейджера представления.взаимодействовать между фрагментом фрагмента пэда и фрагментом диалога

My view pager adapter расширяет FragmentStatePagerAdapter и содержит 7 вкладок, но для каждой вкладки я создаю тот же фрагмент, у которого есть recyclerView, но разные данные для списка. Идея состоит в том, что, когда я нажимаю кнопку в фрагменте диалога, она будет заказывать мои recyclerViews в зависимости от того, какая кнопка была нажата.

Я думал использовать inerface в диалоговом окне, который отправляет данные в действие и отсюда, чтобы обновить фрагмент recyclerview. Единственная проблема в моем решении заключается в том, что в действии я должен вызывать фрагмент по тегу и из-за того, что мой фрагмент находится в представлении пейджера, он не добавляется к backstck. Может кто-нибудь помочь мне установить тег или кто-нибудь знает, как это сделать? Пожалуйста помоги!!

ответ

0

Во всех моих диалоговых окнах приложения взаимодействуют с другими частями приложения через шину событий (я использую EventBus от GreenRobot). В диалоговом окне только сообщения SomeDialog.SomeButtonClickedEvent относятся к шине событий, тогда как Fragment, которая интересуется этими событиями, регистрируется на шине событий в onStart() (unregisters in onStop()).

Использование шины событий для такого общения гораздо менее сопряжено, чем интерфейсный подход (компонентам не нужно знать друг о друге).

+0

спасибо verry много !! ты спас мне жизнь, это замечательно! – Mikky