IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Mettre à jour fragment FragmentPagerAdapter


Sujet :

Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 19
    Par défaut 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 : 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;
            }
    }
    Et l'appel dans le main
    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);
    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 !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 19
    Par défaut
    Personne n'aurais de solution ?
    J'y arrive vraiment pas..

  3. #3
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 149
    Par défaut
    J'avais un code à peu près similaire au tien, je sais pas si c'est ton cas mais moi je modifié les données lorsque l'utilisateur changé de page, donc je passe par le onPageScrolled dans le FragmentPagerAdapter et dans cette méthode il suffit de récupérer tes vues et de modifier les paramètres.
    Tout dépend si tu veux que ça se modifie lors du changement de page ou lors d'un autre événement.

Discussions similaires

  1. Réponses: 9
    Dernier message: 07/04/2014, 19h49
  2. Comment mettre à jour une ligne sans doublon via déclencheur
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/08/2004, 15h56
  3. Réponses: 3
    Dernier message: 09/07/2004, 10h23
  4. Mettre à jour une table depuis une autre
    Par rsc dans le forum SQL
    Réponses: 4
    Dernier message: 09/07/2004, 10h08
  5. Réponses: 6
    Dernier message: 14/02/2003, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo