ListView的刷新
全局刷新
一、修改數據源
二、adapter.notifyDataSetChanged()
修改數據源必須在UI線程操作,修改完必須調用notifyDataSetChanged,負責會發生異常
局部刷新
ListView中某個item的內容被修改,只需要找到該item進行刷新即可
private void partialRefresh(ListView listView,int position){
if (position >= listView.getFirstVisiblePosition() && position <= listView.getLastVisiblePosition()){//先判斷該item是否在屏幕上
int childIndex = position - listView.getFirstVisiblePosition();//獲取到屏幕上的位置
View child = listView.getChildAt(childIndex);//拿到item的view
if (child.getTag() instanceof MyBaseAdapter.ViewHolderText){
((MyBaseAdapter.ViewHolderText) child.getTag()).refreshContent((messageList.get(position).getContent()));//修改item的內容
}
}
}