Recyclerview: - 滚动后选择一个项目时,会选择多个项目

时间:2016-06-20 10:01:40

标签: java android android-recyclerview

@Override
public void onBindViewHolder(final ViewHolder holder, int position) {

    final XContacts mContact = visibleObjects.get(position);

    holder.Name.setText(mContact.getName());

    holder.InviteTextView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            holder.InviteTextView.setText("INVITED");
        }

    });
}

holder.Name.setText: - 这里我是recyclerview的名字

holder.InviteTextView.setOnClickListener: - 当我点击一个item[invite]时。在我向下滚动多个项目后,我们会在没有点击该项目的情况下被邀请。

我的问题是:

Abninav kashayp invited if I scroll down I get problems

1 个答案:

答案 0 :(得分:1)

RecyclerView,顾名思义,是回收视图,这就是你在其他视图中看到'INVITED'的原因。

为了解决这个问题,在onClickListener中你应该在XContacts对象中设置一个标志:

mContact.setInvited(true);

然后你应该在设置名称之后更改你的onBindViewHolder代码以设置InviteTextView:

if (mContact.isInvited()) {
    holder.InviteTextView.setText("INVITED");
}
else {
    holder.InviteTextView.setText("INVITE");
}