View階層を再帰的に表示


AndroidのView階層を再帰的に表示する方法。View階層がひと目で分かります。\(^o^)/

public void dumpViewStructure(View view){
    dumpViewStructure(view, 0);
}
public void dumpViewStructure(View view, int depth){
    String string = "";
    for (int i = 0; i < depth; i++) {
        string = string.concat("-");
    }
    System.out.println(string + "" + view.getClass().getName());
    if(ViewGroup.class.isAssignableFrom(view.getClass())){
        ViewGroup vg = (ViewGroup)view;
        for(int i = 0; i < vg.getChildCount(); i++){
            View child = vg.getChildAt(i);
            this.dumpViewStructure(child, depth + 1);
        }
    }
}

実行結果例

10-11 02:57:32.849: I/System.out(2115): android.widget.LinearLayout
10-11 02:57:32.859: I/System.out(2115): -android.widget.TextView
10-11 02:57:32.869: I/System.out(2115): -android.widget.TextView
10-11 02:57:32.869: I/System.out(2115): -android.widget.TextView
10-11 02:57:32.869: I/System.out(2115): -android.widget.LinearLayout
10-11 02:57:32.869: I/System.out(2115): --android.widget.TextView
10-11 02:57:32.869: I/System.out(2115): -android.widget.LinearLayout
10-11 02:57:32.869: I/System.out(2115): --android.widget.TextView
10-11 02:57:32.869: I/System.out(2115): -android.widget.LinearLayout
10-11 02:57:32.869: I/System.out(2115): --android.widget.TextView

参考
UIViewの階層構造を解析

Comments

comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です