@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]
时。在我向下滚动多个项目后,我们会在没有点击该项目的情况下被邀请。
我的问题是:
答案 0 :(得分:1)
RecyclerView,顾名思义,是回收视图,这就是你在其他视图中看到'INVITED'的原因。
为了解决这个问题,在onClickListener中你应该在XContacts对象中设置一个标志:
mContact.setInvited(true);
然后你应该在设置名称之后更改你的onBindViewHolder代码以设置InviteTextView:
if (mContact.isInvited()) {
holder.InviteTextView.setText("INVITED");
}
else {
holder.InviteTextView.setText("INVITE");
}