android recylerview 中如何获取子view?

来源:互联网 发布:爱马仕雪白龙胆知乎 编辑:程序博客网 时间:2024/05/26 02:21

在修改一份开源代码的时候,

发现了recylerview使用过程中的一个问题,

搜罗了一番,

好像大家都没有遇到,

于是就在这里记一笔。



一般viewGroup的子类要获取子view的方法是

getChildAt(int index)

但是奇怪的事情发生了,

我在通过recylerview来获取子view的时候,

不成功,

于是换layoutManager来获取,

依旧不成功,

郁闷ing,

于是进到recylerview里去找,

发现

    public View findViewByPosition(int position) {        int childCount = this.getChildCount();        if(childCount == 0) {            return null;        } else {            int firstChild = this.getPosition(this.getChildAt(0));            int viewPosition = position - firstChild;            return viewPosition >= 0 && viewPosition < childCount?this.getChildAt(viewPosition):null;        }    }



到这里,问题解决,皆大欢喜!



0 0