holder.voteUp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final int position = myList.getPositionForView((View) v
.getParent());
final ListItem li = values.get(position);
li.voteUp_value = true;
//In getView(), I set different image to holder.voteUp ImageView depending on this value.
//Hence I call notifyDataSetChanged(); which takes care of it.
notifyDataSetChanged();
}
});
但问题是,由于通知了整个列表,所以每次我投票时它都会闪烁。
我无法holder.voteUp
直接更改图像,因为有一个holder.voteDown
也必须更改,具体取决于li.voteUp_value
. 所以,我选择了notifyDataSetChanged();
它来处理这一切。
有没有办法可以从父视图获取视图并设置图像,而不是notifyDataSetChanged();
?
喜欢:
ViewParent vp = v.getParent();
ImageView im = vp.findViewById(R.id.voteUp);
im.setImageResource.....
但是没有什么像findViewById
forViewParent