Bonjour !
Voila, j'explique mon problème. J'ai installer une ViewPager et un FragmentPagerAdapter pour pouvoir slider entre deux page.
Chaque fragment contient des données (TextView).
Lors de la création de mon ViewPager avec les données passé en paramètre tout ce passe bien.
Mais si je veux modifier les données (donc le contenu des fragment) elle reste inchanger
Voici mon fragmentpageradapter
Et l'appel dans le main
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 public class MaPagerAdapter extends FragmentPagerAdapter { //private final List varia; private Meteo[]lameteo; //On fournit à l'adapter la liste des fragments à afficher public MaPagerAdapter(FragmentManager fm, Meteo[]lameteo) { super(fm); this.lameteo = lameteo; Log.i("aa", "ville maPagerAdapter"+lameteo[0].getLoc()); } @Override public Fragment getItem(int position) { //return page_droite.newInstance((String) this.varia.get(position)); Log.i("lala","ville chercher"+lameteo[0].getLoc()); switch(position) { //case 0: return page_droite.newInstance((Meteo) this.varia.get(position)); case 0: return page_droite.newInstance(lameteo[0]); case 1: return page_gauche.newInstance(lameteo); //case 1: return page_gauche.newInstance((Meteo) this.varia.get(position)); } return null; } @Override public int getItemPosition(Object object) { return POSITION_NONE; } public void setData(Meteo[] meteo){ this.lameteo=meteo; } @Override public int getCount() { return 2; } }
Auriez vous une solution à ce problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if(mPagerAdapter!=null){ //si le pagerAdapter à déjà été initialisé mPagerAdapter.setData(meteo); mPagerAdapter.notifyDataSetChanged(); }else mPagerAdapter = new MaPagerAdapter(getSupportFragmentManager(), meteo); ViewPager pager = (ViewPager) findViewById(R.id.viewpager); pager.setAdapter(mPagerAdapter);
J'ai regarder plusieurs forum ce qui m'à amener à mettre la position à position_none par defaut, mais ça ne résout pas le problème..
Merci bien !
Partager