如何在一个布局中,查找特定类型的子控件

来源:互联网 发布:淘宝网店运营推广方案 编辑:程序博客网 时间:2024/05/16 16:23

知道子控件id的情况下,直接findViewById就可以啦,不在这里啰嗦。这里主要针对不知道控件id的情况

举个例子,找到布局中的recyclerView:

/** * 从当前页面中查找所有的RecyclerView控件 * @param group * @return */private RecyclerView findRecyclerView(ViewGroup group) {    if (group != null) {        for (int i = 0, j = group.getChildCount(); i < j; i++) {            View child = group.getChildAt(i);            if (child instanceof RecyclerView) {                return (RecyclerView) child;            } else if (child instanceof ViewGroup) {                RecyclerView result = findRecyclerView((ViewGroup) child);                if (result != null)                    return result;            }        }    }    return null;}
调用的时候,只需要

RecyclerView recyclerView = findRecyclerView((ViewGroup) this.getWindow().getDecorView());
这样,我们就通过回调的方式找出了recyclerView,同理,其他控件也一样。

阅读全文
0 0
原创粉丝点击