/ / Как да уведомя всички фрагменти в ViewPager, че някой от тях е променен? - андроид, андроид-фрагменти, андроид-viewpager

Как да уведомя всички фрагменти в ViewPager, че някой от тях се е променил? - андроид, андроид-фрагменти, андроид-viewpager

Моята FragmentActivity съдържа ViewPager с някоистраници. След като се промени една страница, други трябва да получат известие. Така че стъпките ми: 1. Изпращане на известие от фрагмент към дейност 2. Получаване на списък с фрагменти 3. Обадете се на всеки от тях.

Проблемът е в стъпка 2, за да получите фрагменти. Извикването на adapter.getItem (int i) извиква MyFragmentAdapter.getItem (int i), което връща нов фрагмент, който не е свързан с дейност.

Някакви идеи?

Отговори:

3 за отговор № 1

Добавянето на следващи методи към YourFragmentPagerAdapter решава проблема:

public Fragment getActiveFragment(ViewPager container, int position) {
String name = makeFragmentName(container.getId(), position);
return  mFragmentManager.findFragmentByTag(name);
}

private static String makeFragmentName(int viewId, int index) {
return "android:switcher:" + viewId + ":" + index;
}

0 за отговор № 2

Защо не просто да изпратите излъчване от променения фрагмент, а след това да имате излъчван приемник в другите си фрагменти, които получават излъчването?