2010-11-11 71 views
0

Je voudrais avoir de l'aide avec une implémentation simple d'un ViewFlipper. Le flipper fonctionne parfaitement lorsque je gonfle les vues enfants "ws.addView (childView)" dans la création de l'activité.ViewFlipper addAfficher ne fonctionne pas

Je rencontre un problème lorsque je veux retirer tous les enfants du flipper et en ajouter un autre via la méthode addView (enfant). J'essaye d'appeler les méthodes onFinishInflate() et invalidate() sur le flipper qui ne semblent pas produire l'effet désiré d'actualiser le contenu du flipper. La vue de la nageoire est vide. J'ai vérifié si le flipper contient des enfants après la boucle addView et dans mon cas le nombre est> 1. Peut-être qu'il me manque quelque chose. J'espère que quelqu'un peut m'aider.

   ws.removeAllViews(); 
       ArrayList<View> childViews = getAllChildrenFromSomewhere(); 
       for (View childView : childViews) { 
        ws.addView(childView); 
       } 
       ws.onFinishTemporaryDetach(); 

       ws.onFinishInflate(); 
       ws.invalidate();  

meilleures salutations

Répondre

2

j'ai pu trouver la réponse à ma question. Je retirais tous les enfants de ViewFlipper et l'étape suivante consistait à ajouter de nouveaux enfants à ViewFlipper. La suppression de tous les enfants et l'invalidation de la vue entraînaient une vue vide, car aucun enfant n'avait été sélectionné. En ajoutant seulement de nouveaux enfants et en invalidant à nouveau la vue, ViewFlipper est resté vide. En utilisant ws.showNext() après ws.invalidate(), le premier enfant des nouveaux enfants est affiché et ViewFlipper fonctionne comme prévu. J'espère que cela t'aides.

  ws.removeAllViews(); 
      ArrayList<View> childViews = getAllChildrenFromSomewhere(); 
      for (View childView : childViews) { 
       ws.addView(childView); 
      } 
      ws.onFinishTemporaryDetach(); 

      ws.onFinishInflate(); 
      ws.invalidate(); 
      // show the first childView 
      ws.showNext(); 

meilleures salutations et heureux :-) codage

+0

onFinishInflate n'est pas visible? : / –