Android RecyclerView.Adapter更改图标onClick

时间:2015-11-27 01:36:10

标签: java android performance android-recyclerview

我在末尾创建了一个带有图标的列表项。使用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);
                    }
                });

    }

1 个答案:

答案 0 :(得分:2)

在回收站视图中,视图将被回收以节省内存使用量 所以你需要在你的条件中添加其他

if(data.isSelected()) { 
    // your original code
} else {
    holder.imageView.setImageResource(R.drawable.your_drawable);
    //Put another code if you want
}