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 № 1Ajouter 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?