getChildCount和getItemsCount之类的函数的区别
继承自ViewGroup的View是可以包含许多子View的,他们也会存在getChildCount和getItemsCount之类的函数,可以返回一些与元素数量有关的数值。
不过要特别注意的是这些数值在父视图包含的子视图展开形态不同时会有不同的结果。
安卓官网给出的解释是:
RecycleView Return the current number of child views attached to the parent RecyclerView. This does not include child views that were temporarily detached and/or scrapped.
返回附加在父RecyclerView上的子视图的数量。子视图不包括嵌套子视图。
经过验证得出,getChildCount返回的是当前可见范围内一共有几个子View,getItemsCount返回当前RecyclerView一共会有多少个子View。
第二个很简单明了,就是返回当前RecyclerView里面有多少个items 。
想判断当前RecyclerView还能不能继续向下拖动
大概有两种实现方式。
1
元素的position + 当前页面可显示元素数量求和 >= 总数的时候认为滚到底了。
2
第二种,我个人也觉得比较干净好用,利用canScrollVertically(int direction)函数的返回值决定。
direction为1的时候表示判断能不能向下滚动,-1表示能不能向上滚动。
与此同时还存在相似函数canScrollHorizontally。