Моята 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
Защо не просто да изпратите излъчване от променения фрагмент, а след това да имате излъчван приемник в другите си фрагменти, които получават излъчването?