在不少時候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