如何使用复选框
在recyclerview中获取所选项目
例如:检查项目1,2,3和4。当我点击按钮创建它将使用他们的名字为文本选择项目。
这是我的观看者
public class UserViewGroupHolder extends RecyclerView.ViewHolder {
@Bind(R.id.image_account)
CircleImageView mImageAccount;
@Bind(R.id.text_contact_email)
TextView mTextContactEmail;
@Bind(R.id.text_contact_name)
TextView mTextContactName;
@Bind(R.id.check_box_user)
CheckBox mCheckBoxUser;
public UserViewGroupHolder(View itemView) {
super(itemView);
ButterKnife.bind(this, itemView);
}
public void bind(final Account account, final User contact) {
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
mTextContactEmail.setText(contact.getEmail());
mTextContactName.setText(contact.getDisplayName());
}
}
这是我对onBindViewholder的活动
@Override
public void onBindViewHolder(final UserViewGroupHolder holder, int position) {
holder.bind(mAccount, mUsers.get(position));
}
答案 0 :(得分:0)
这是我对onBindViewholder的活动
我想你的意思是适配器,而不是活动。
mTextContactEmail.setText(contact.getEmail());
mTextContactName.setText(contact.getDisplayName());
应该在bind(...)
中itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}
不得在持有人的itemView上设置,而是在"创建"选项菜单中的按钮。 您可以通过几种方式获取特定视图的已检查状态。一个*是保留在用户类布尔字段"检查"使用getter / setter,并在用户列表中使用 for loop 编写函数保存在适配器中,返回已检查状态的用户列表" true"。 当然,必须在bind(...)中更改用户的已检查状态。
使用创建按钮单击名称的Toast现在很容易:您的新适配器函数返回已检查用户的列表(也可以返回带有其名称的字符串列表)。
*请注意,如果User类之前是不可变的,这可能会使User类变为可变。
噢,你可以根据持有者或观点了解你所检查的状态知识,因为它们可以重复使用。如果有很多用户(超过10个),这种状态会同时对少量ListView项目起作用,这真的很差。