2011-11-28 11 views
5

Czy mam nowy ekran w Androidzie? Chciałbym przejrzeć wszystkie grupy widoku i widoki, aby odkryć wszystkie przyciski, pola tekstowe, spinner itd. ... czy jest to możliwe?Powtarzanie widoku grupy

+1

Sprawdź tę odpowiedź Romain Guy: http://stackoverflow.com/questions/2597230/loop-through-all-subviews-of-an-android-view –

Odpowiedz

7

uzyskać liczbę wyświetleń, a następnie użyć jej jako licznika zadzwonić getChildAt (int index)

4

To pytanie może być długa odpowiedział, ale napisałem ten rekurencyjnej funkcji ustawiania onClickListeners dla jakichkolwiek przycisków mi się znaleźć w moim układzie, ale to może być dostosowana:

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: Casting widok jak ViewGroup nie zgłosi wyjątek jak gdybym wcześniej sądzono, więc kod jest znacznie krótszy teraz