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 :

Garder l'état actuel d'un fragment


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Par défaut Garder l'état actuel d'un fragment
    Bonjour,

    J'ai mise en place un système d'onglet avec 2 fragments (Fragment 1 et Fragment 2)

    Lorsque je passe de Fragment 1 à Fragment 2, et que ensuite je repasse à Fragment 1, celui si se relance (se recrée), ce qui est génant.

    J'aimerais garder les états des Fragments. Comment faire ?

    Voici mon code qui gère les onglets de mon Activity qui hérite de Fragment Activity

    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
     
     
      public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        	requestWindowFeature(Window.FEATURE_NO_TITLE);
            setContentView(R.layout.main);
     
     
            Bundle bdl = new Bundle();
            bdl.putInt(KEY_TYPE, TYPE_NORMAL);
     
            mTabHost = (TabHost)findViewById(android.R.id.tabhost);
            mTabHost.setup();
     
            mTabManager = new TabManager(this, mTabHost, R.id.realtabcontent);
     
            // TODO: localize
            mTabManager.addTab(mTabHost.newTabSpec("frag1).setIndicator(createTabView(mTabHost.getContext(), "Fragment1")), Fragment1.class, bdl);
            mTabManager.addTab(mTabHost.newTabSpec("frag2").setIndicator(createTabView(mTabHost.getContext(), "Fragment2"), Fragment2.class, bdl);
     
    }

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Par défaut
    Dans chaque fragment de monTabManager, j’exécute un Asyntask dans la méthode onCreateView() de mon fragment sélectionné.

    Et à chaque fois que je reviens sur mon Fragment, l'Asyntask se réexecute. Est-ce normal ?

    Comment y remedier pour qu'il ne reexécute plus ?

  3. #3
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    Appeler l'AsyncTask dans le onCreate .

    Oui c'est normal qu'il soit ré exécuté voir le schéma ci dessous :


  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Par défaut
    Merci de votre explication, mais dans l'asyntask j'ai besoin de certaines views qui sont déclarées dans le onCreateView() qui retourne la view du Fragment.

  5. #5
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    mais dans l'asyntask j'ai besoin de certaines views
    Juste avec cette phrase tu as un problème de conception .

    Qu'est ce que gère ton AsyncTask qui as un rapport primordial avec ton UI ??

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Juste avec cette phrase tu as un problème de conception .

    Qu'est ce que gère ton AsyncTask qui as un rapport primordial avec ton UI ??
    J'affiche une ProgressBar lie a mon layout dans le onPreExecute() de l'Asyntask puis je la cache dans le onPostExecute().

Discussions similaires

  1. Réponses: 11
    Dernier message: 08/05/2014, 18h10
  2. Garder l'état d'un Fragment sur un ViewPager
    Par anto2b dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 24/05/2013, 15h03
  3. Garder l'état "pressé" d'un bouton
    Par ritpas dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/02/2008, 13h55
  4. Garder les états Access mais base Mysql
    Par wishmasteer dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 30/10/2007, 08h42
  5. [script.aculo.us] Garder l'état des Effects
    Par Invité dans le forum Bibliothèques & Frameworks
    Réponses: 6
    Dernier message: 31/05/2007, 10h12

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