обновление данных в ListViews, отображаемых с помощью FragmentPagerAdapter - PullRequest
0 голосов
/ 07 февраля 2020

Я пытаюсь отобразить наборы данных в более позднем ListView во фрагменте в FragmentPagerAdapter.

Различные наборы данных частично зависят друг от друга (если отображаемые данные на вкладке A get изменены, данные на вкладке B должны быть изменены как результат.). Если данные изменяются в 1 Listview, я передаю измененные данные в ParentFragment через интерфейс, который я реализовал в адаптере listview. после этого я хочу дать каждому фрагменту в каждой вкладке новые наборы данных, но я действительно не знаю, как связаться с другими вкладками извне фрагмента.

Я нашел неоптимальный способ, переопределив notifyDataSetInvalidated () в адаптере, вызвав интерфейс для новых данных из родительского фрагмента, а затем вызвав notifyDataSetChanged (), но он просто работает с вкладками вне (tab) я сделал изменения в "+/- 1 предварительно загружены, чтобы они отображали старые данные).

Может кто-нибудь сказать мне лучший способ справиться с этим? я прочитал несколько веток на эту топику c, но она либо не сработала для меня, либо я просто не понял (возможно, аффилирован с языком)

1 Ответ

0 голосов
/ 07 февраля 2020

Другой способ - использовать EventBus. Каждый фрагмент, который вы хотите обновить данные, будет прослушивать событие.

При изменении первого списка, опубликовать событие, другие фрагменты получат уведомление и обновятся.

Вы можете найти EventBus здесь

...