Domanda

avrei bisogno di aiuto con una semplice implementazione di un ViewFlipper. Il flipper funziona perfettamente quando mi gonfio vista bambino "ws.addView (childView)" nel onCreate dell'attività.

mi imbatto in un problema quando voglio per rimuovere tutti i bambini dal flipper e aggiungere un altro gruppo di loro tramite il metodo addView (bambino). Sto cercando di chiamare l'onFinishInflate () e invalidate () metodi sul flipper che non sembra produrre l'effetto desiderato di rinfrescante il contenuto del flipper. La vista del flipper è vuoto. Ho controllato se il flipper contiene i bambini dopo il ciclo addView e nel mio caso il numero è> 1. forse mi manca qualcosa. La speranza che qualcuno mi può aiutare.

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

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

migliori saluti

È stato utile?

Soluzione

Sono stato in grado di trovare la risposta alla mia domanda. Mi è stato la rimozione di tutti i bambini dalla ViewFlipper e il passo successivo è stato quello di aggiungere nuovi figli alla ViewFlipper. Rimozione di tutti i bambini e invalidare la vista era traduce in una visione in bianco, a causa di nessun bambino è stato selezionato. Con l'aggiunta di solo i nuovi bambini e di nuovo invalidare la vista, il ViewFlipper rimase vuota. Utilizzando ws.showNext () dopo ws.invalidate (), il primo figlio dei nuovi bambini è mostrato e il ViewFlipper funziona come previsto. Spero che questo aiuti.

            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();

migliori saluti e felice di codifica: -)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top