在修改一份开源代码的时候,
发现了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;
}
}
在使用RecyclerView过程中遇到获取子视图失败的问题,通过深入探究RecyclerView内部实现,最终找到解决办法并分享。

1万+

被折叠的 条评论
为什么被折叠?



