2011-11-28 21 views
5

Dato un nuovo schermo in Android vorrei scorrere tutti i viewgroup e le viste per scoprire tutti i pulsanti, campi di testo, spinner, ecc ... è possibile?Iterating through viewgroup

+1

controllare questa risposta da Romain Guy: http://stackoverflow.com/questions/2597230/loop-through-all-subviews-of-an-android-view –

risposta

7

ottengo il numero di visualizzazioni e quindi utilizzare tale come un contatore chiamare getChildAt (int index)

4

Questa domanda potrebbe essere stato a lungo una risposta, ma ho scritto questa funzione ricorsiva per impostare onClickListeners per tutti i pulsanti che trovo nel mio layout, ma potrebbe essere riproposto:

private void recurseViews(ViewGroup v) { 
    View a; 
    boolean isgrp = false; 
    for(int i = 0; i < v.getChildCount(); i++) { //attach listener to all buttons 
     a = v.getChildAt(i); 
     if(a instanceof ViewGroup) setcl((ViewGroup) a); 
     else if(a != null) { 
      //do stuff with View a 
     } 
    } 
    return; 
} 

EDIT: Lanciare una Vedi come ViewGroup non solleva un'eccezione, come avevo pensato in precedenza, in modo che il codice è molto più breve ora