有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java 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:-这里是我要查看的名字

holder.InviteTextView.setOnClickListener:-当我点击一个item[invite]。在我向下滚动后,多个项目会被邀请,而不会点击该项目

我的问题是:

Abninav kashayp invited if I scroll down I get problems


共 (1) 个答案

  1. # 1 楼答案

    RecyclerView,顾名思义,就是回收视图,这就是为什么你在其他视图中看到“邀请”

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

    mContact.setInvited(true);
    

    然后,在设置名称之后,您应该更改onBindViewHolder代码,以同时设置InviteTextView:

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