1.接收刷新的消息(可使用eventBus),拿到item的id,position
2.adapter中
/**
* 单条item刷新
*
* @param attention
*/
public void updateView(String artistId, int attention) {
LogUtil.e("log:position artistId", artistId + " " + pos + "");
int firstVisiblePosition = listView.getFirstVisiblePosition();//第一个可见的item
int lastVisiblePosition = listView.getLastVisiblePosition();//最后一个可见的item
if (pos >= firstVisiblePosition && pos <= lastVisiblePosition) {//在可见的item范围内
View view = listView.getChildAt(pos - firstVisiblePosition);//定位需要刷新的view
if (artistId.equals(list.get(pos).artistId)) {//再次判断拿到的item是否还是当前的item
ViewHolder vh = (ViewHolder) view.getTag();
list.get(pos).isAttention = attention;//局部改变item数据
notifyDataSetChanged();
}
}
}