今天遇到了一个问题,就是刷新listView中某一个指定item的TextView,开始准备使用回调,用notifyDataSetChange(),但是这个方法时对整个ListView的item进行刷新,觉得不是很好。
查了一些资料,然后测试了一下确实可以直接刷新。。
//更新指定item的值
private void updateSingleRow(int count,int position){
//获取屏幕可见的最顶端item的位置,
int startView=listView.getFirstVisiblePosition();
View view=listView.getChildAt(position-startView);
ViewHolder mViewHolder=(ViewHolder) view.getTag();
mViewHolder.tv_good.setText(count+"人觉得赞");
items.get(position).set(7,count);
}
最后在adapter的getView()的方法调用者这个方法,如果在子线程中调用需要使用Looper。