美文网首页Android开发
关于GridView和ListView的getChildAt返回

关于GridView和ListView的getChildAt返回

作者: JC_Hou | 来源:发表于2016-10-08 20:49 被阅读630次

    遇到一个问题,就是在GridView不滚动的时候,getChildAt返回的值都是正确的,但是一滚动就会出现错位或者返回null。

    后来找了很多资料,发现GridView和ListVIew采用回收机制,简单地说:如果屏幕最多可以显示n个子View,那么内存中其实就只有这n个子View。当滚动了之后,重新展现在眼前的n个View复用了之前的n个VIew。

    所以在GridView和ListView中,getChildAt(int position)方法中的position指的是当前可见的第几个元素。

    如果要获得GridVIew中的第n个View,那么position就是n-第一个可见View的位置

    View view=gridView.getChildAt(n-gridVIew.getFirstVisiblePosition());```

    相关文章

      网友评论

        本文标题:关于GridView和ListView的getChildAt返回

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