Question

Je besoin d'aide d'une simple mise en œuvre d'un ViewFlipper. Le Flipper fonctionne parfaitement lorsque dans le onCreate de l'activité I vue de l'enfant gonfler « de ws.addView (ChildView) ».

Je rencontre un problème quand je veux supprimer tous les enfants du Flipper et ajouter un autre groupe d'entre eux via la méthode addView (enfant). Je suis en train d'appeler les méthodes onFinishInflate () et invalidate () sur le Flipper qui ne semble pas produire l'effet désiré de rafraîchir le contenu du Flipper. La vue de l'Flipper est vide. J'ai vérifié si le Flipper contient les enfants après la boucle de addView et dans mon cas, le nombre est> 1. Peut-être que je 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();    

Cordialement

Était-ce utile?

La solution

J'ai pu trouver la réponse à ma question. Je ôtait tous les enfants du ViewFlipper et l'étape suivante a consisté à ajouter de nouveaux enfants à la ViewFlipper. Suppression de tous les enfants et la vue était invalidant dans une vue traduit en blanc, en raison aucun enfant n'a été sélectionné. En ajoutant seulement de nouveaux enfants et invalidant à nouveau la vue, le ViewFlipper est resté vide. En utilisant ws.showNext () après ws.invalidate (), le premier enfant des nouveaux enfants apparaît et l'ViewFlipper fonctionne comme prévu. Espérons que cela aide.

            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 de codage: -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top