1. 程式人生 > >Android 在Activity裡查詢某個子View是否存在

Android 在Activity裡查詢某個子View是否存在

判斷在Activity裡是否存在,我想到了遍歷一遍Activity的子View,然後對Tag,對上了就是有,沒對上就是沒有。要遞迴著找。

 //是否存在這個子viewA,返回true就是有,false就是沒有
    private Boolean getChildA(View view) {
        Boolean a = false;
        if (view instanceof ViewGroup) {
            ViewGroup vp = (ViewGroup) view;
            for (int i = 0; i < vp.getChildCount(); i++) {
                View viewchild = vp.getChildAt(i);
                //裡面的1000即為需要找View的tag
if(viewchild.getTag() != null && String.valueOf(viewchild.getTag()).equals("1000")) { Log.i("已存在", String.valueOf(viewchild.getTag())); return true; } a = a || getChildA(viewchild); } } return
a; }

要這樣用,就醬

//swin即為activity
getChildA(swin.getWindow().getDecorView())