美文网首页
Android获取activity的所有子view(使用到递归)

Android获取activity的所有子view(使用到递归)

作者: 指尖劃過諾言 | 来源:发表于2018-12-07 15:34 被阅读0次
//获取 activity中的所有view
    private void getAllViews(Activity act) {
        List<View> list = getAllChildViews(act.getWindow().getDecorView());
    }
 
    private List<View> getAllChildViews(View view) {
        List<View> allchildren = new ArrayList<View>();
        if (view instanceof ViewGroup) {
            ViewGroup vp = (ViewGroup) view;
            for (int i = 0; i < vp.getChildCount(); i++) {
                View viewchild = vp.getChildAt(i);
                allchildren.add(viewchild);
                //再次 调用本身(递归)
                allchildren.addAll(getAllChildViews(viewchild));
            }
        }
        return allchildren;
    }

相关文章

网友评论

      本文标题:Android获取activity的所有子view(使用到递归)

      本文链接:https://www.haomeiwen.com/subject/lbithqtx.html