/ / Comment notifier à tous les fragments dans ViewPager que l'un d'entre eux a changé? - android, android-fragments, android-viewpager

Comment notifier à tous les fragments dans ViewPager que l'un d'entre eux a changé? - android, android-fragments, android-viewpager

Mon FragmentActivity contient ViewPager avec quelquespages. Une fois qu'une page est modifiée, les autres doivent recevoir une notification. Alors mes pas: 1. Envoyer une notification d'un fragment à une autre 2. Obtenir la liste des fragments 3. Appelez notifier à chacun.

Le problème est à l'étape 2, pour obtenir des fragments. L'appel de adapter.getItem (int i) appelle MyFragmentAdapter.getItem (int i), qui renvoie un nouveau fragment, qui n'est pas associé à l'activité.

Des idées?

Réponses:

3 pour la réponse № 1

Ajouter les méthodes suivantes à YourFragmentPagerAdapter résout le problème:

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 pour la réponse № 2

Pourquoi ne pas simplement envoyer une émission à partir du fragment qui a changé et ensuite avoir un récepteur d'émission dans vos autres fragments qui reçoivent l'émission?