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
для ViewParent