Mettre à jour fragment FragmentPagerAdapter
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
Code:
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;
}
} |
Et l'appel dans le main
Code:
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); |
Auriez vous une solution à ce problème ?
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 !