我创建了一个列表项,末尾有一个图标。使用RecyclerView.Adapter
在图标onClick上,我想更改图标。 (我能做到)。但是当您向上或向下滚动列表时,其他随机列表项图标会发生变化。
public void onBindViewHolder(StatusViewHolder holder, int position) {
...
final InviteFriend data = mInviteFriend.get(position);
if(data.isSelected()) {
holder.imageView.setImageResource(R.drawable.ic_person_black_24dp); }
holder.imageView.setTag(data);
holder.imageView.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
ImageView imageView = (ImageView) view;
InviteFriend inviteFriend = (InviteFriend) imageView.getTag();
inviteFriend.setSelected(true);
imageView.setImageResource(R.drawable.ic_person_black_24dp);
notifyCounterChanged(true);
}
});
}
最佳答案
在回收器 View 中, View 将被回收以节省内存使用
所以你需要在你的条件中添加 else
if(data.isSelected()) {
// your original code
} else {
holder.imageView.setImageResource(R.drawable.your_drawable);
//Put another code if you want
}
关于java - Android RecyclerView.Adapter更改图标onClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33949170/