Android listview 注意的地方

在不少时候ListView列表数据不须要所有刷新,只需刷新有数据变化的那一条,这时能够用getChildAt(index)获取某个指定position的view,并对该view进行刷新。spa

1.getchaildAt实际上是有取值范围的,超出范围就会返回nullget

下面给出范围:>= ListView.getFirstVisiblePosition() &&  <= ListView.getLastVisiblePosition();it

 须要使用getFirstVisiblePosition()得到第一个可见的位置,再用当前的position-它,再用getChildAt取值!即getChildAt(position - ListView。getFirstVisiblePosition())就会有值存在io

2.getChildCount跟getCount获取的值将会不同ast

ListView.getCount()(其实是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。List

也就是“所包含的 Item 总个数”。数据

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

当 ListView 中的 Item 比较少无需滚动便可所有显示时,两者是等价的;当 Item 个数较多须要滚动才能浏览所有的话, getChildCount() < getCount()vi

其中 getChildCount() 返回的是当前可见的 Item 个数co

相关文章
相关标签/搜索