我只希望从复选框列表中选择两个复选框................................. ................................................... ................................................... ................................................... ................................................... ............................................
下面是我的代码
public class OfferItemsAdapter extends RecyclerView.Adapter<OfferItemsAdapter.ViewHolder> {
private ArrayList<TasklistModel.Option> mDataset;
String strFreeItem;
OfferItemsAdapter(ArrayList<TasklistModel.Option> reviwsLists,String strFreeItem) {
mDataset = reviwsLists;
this.strFreeItem = strFreeItem;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent,int viewType) {
View v = LayoutInflater.from(parent.getcontext())
.inflate(R.layout.addon_list_cart_item,parent,false);
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(final ViewHolder holder,final int position) {
holder.cbProduct.setText(mDataset.get(position).getItemName());
holder.tvProductPrice.setVisibility(View.GONE);
if (strFreeItem.equalsIgnoreCase("1")) {
if (mDataset.get(position).isChecked()) {
holder.cbProduct.setChecked(true);
selectedItems.add(mDataset.get(position).getItemID());
} else {
holder.cbProduct.setChecked(false);
selectedItems.remove(mDataset.get(position).getItemID());
}
}
holder.cbProduct.setOnClicklistener(new View.OnClicklistener() {
@Override
public void onClick(View v) {
if (strFreeItem.equalsIgnoreCase("1")) {
if (selectedItems.size() == 1 && selectedItems.contains(mDataset.get(position).getItemID())) {
mDataset.get(position).setChecked(false);
} else {
mDataset.get(position).setChecked(true);
}
}
notifyDataSetChanged();
Log.e("selectedItems.toString()............",""+selectedItems.toString());
}
});
}
@Override
public int getItemCount() {
return mDataset == null ? 0 : mDataset.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public View mainView;
TextView tvProductPrice;
CheckBox cbProduct;
public ViewHolder(View v) {
super(v);
mainView = v;
tvProductPrice = v.findViewById(R.id.tvProductPrice);
cbProduct = v.findViewById(R.id.cbProduct);
}
}
}