ListView.getCount() 与 ListView.getChildCount()

转载 2013年12月04日 15:22:13

ListView.getCount()(实际上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。也就是“所包含的 Item 总个数”。

    ListView.getChildCount()(ViewGroup.getChildCount) 返回的是显示层面上的“所包含的子 View 个数”。

 

    二者有什么不同?当 ListView 中的 Item 比较少无需滚动即可全部显示时,二者是等价的;当 Item 个数较多需要滚动才能浏览全部的话, getChildCount() < getCount() 其中 getChildCount() 返回的是当前可见的 Item 个数。

    其实 Android framework 的这一设计并不难理解:当一些 Item 当前不显示的时候为什么还要保留它们的 View 呢?移动设备的资源有限,“能省则省”嘛。

********************************************************************


getChildAt(i)也只是能够拿到一屏界面所能够显示的组件 ,如果超出,会报错。

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ListView.getCount() 与 ListView.getChildCount()
举报原因:
原因补充:

(最多只允许输入30个字)