Bonjour,
J'ai un petit soucis:
Mon application se compose d'un ViewPager contenant 3 Fragments. Dans ces 3 Fragments, il y a une listView.
J'aimerai pouvoir mettre à jour ces listView.
Une solution que j'ai trouvé est de re-forcer la création des Fragments en appliquant un nouveau adapter sur le ViewPager(setAdapter).
Mais est-ce optimal? je ne souhaite pas reconstruire l'ensemble des Fragments mais juste mettre à jour les listView.
Sur les forums spécialisés, il y a beaucoup opinion sur ce problème(notifydatasetchanged par exemple), mais je n'ai jamais réussi à les appliquer.
Voici en gros mon code:
Activity:
Chacun des fragments se composent de:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 private ViewPager viewPager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); List<Fragment> fragments = CreatePageFragments(); pageAdapter = new PageAdapter(getSupportFragmentManager(), fragments); viewPager.setAdapter(pageAdapter); }
Avez-vous une solution sur ce problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public class MyFragment extends Fragment { private static ListView listview; public MyFragment () { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.listview, container, false); listview = (ListView) view.findViewById(R.id.listView); MyAdapter adapter = new MyAdapter (getActivity(), data); listview.setAdapter(adapter); return view; } }
Partager