在修改一份开源代码的时候,
发现了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;
}
}