2011-11-28 2 views
5

アンドロイドで新しい画面が表示されたら、すべてのボタン、テキストフィールド、スピナーなどを検出するために、すべてのビューグループとビューを繰り返していきたいですか?ビューグループを反復する

+1

チェック今はるかに短いので、のViewGroupとしてビューをキャストすると、例外は発生しません。 Guy: http://stackoverflow.com/questions/2597230/loop-through-all-subviews-of-an-android-view –

答えて

7

私はビューカウントを取得して、getChildAt(int型のインデックス)を呼び出すための カウンタとしてそれを使用

4

この質問は長い回答されているかもしれないが、私は私が見つけるすべてのボタンのonClickListenersを設定するには、この再帰関数を書きました私のレイアウトで、それは再利用することができます

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; 
} 

編集:私は以前考えていたように、コードがロマンことで、この答えは