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的内容
}
}
}