cette question pourrait être très noobish mais je ne suis pas capable de trouver une bonne solution.Fragments multiples avec différents expandableList pour les mêmes données
Voici mon problème:
Je veux ne pas afficher les données (un java.util.List
avec mon TaskObjects
) dans plusieurs ExpandableLists
(permet de dire 5) chacun dans un propre Fragment afin que l'utilisateur est en mesure de glisser entre les différentes listes. Au moment j'ai un MainFragmentActivity
qui contient le java.util.List
, le PageViewer
et un « étendu » FragmentPagerAdapter
(comme TabsAdapter) qui contient les onglets AllTaskFragment
et OverDueTaskFragment
. Ces deux Fragments ont chacun un ExpandableList
et ExpandableListAdapter
(écrit par moi).
Maintenant, lorsque l'utilisateur clique sur un enfant dans ExpandableLists
comment dois-je informer les autres fragments ExpandableListAdapter
pour mettre à jour? J'ai essayé d'appeler le MainFragmentActivity
et à partir de là appelez tous les fragments, mais les fragments ExpandableListAdapters
étaient «nulles», mais pourquoi?
mise à jour:
Je suppose que je résolu la question, atm travaille avec:
Si quelque chose change dans toute ExpandableListAdapter, j'appelle updateTabs() dans
MainFragmentActivity
public void updateTabs() {
for(int i = 0 ; i < tabsAdapter.getCount() ; i++) {
UpdateableFragment updateableFragment = (UpdateableFragment) getSupportFragmentManager().findFragmentByTag(makeFragmentName(mViewPager.getId(),i));
updateableFragment.updateFragment();
}
}
private String makeFragmentName(int viewId, int index){
return "android:switcher:" + viewId + ":" + index;
}
qui appelle simplement dans ea ch fragment la méthode
public void updateFragment() {
adapter.notifyDataSetChanged();
}
Est-ce une bonne approche? Ou cela va-t-il soulever quelques problèmes?
Veuillez fournir un échantillon de code. – david