我的MainActivity
中有一个RecyclerView
,其中adapter class
。 RecyclerView
的每个列表单元格包含Checkbox
。为Checkbox
设置一个预选值。如果这是真的,则将Checkbox
设置为选中状态。还有一件事是一些项目是完全允许单选(即,如果我选择这些项目'Checkbox
,其他选中的框将被取消选中)。该值由每个项目字典中的另一个参数确定。我的活动中还有一个按钮,当没有选择任何按钮时,按钮将被禁用,反之亦然。我如何实现这些功能?我的课程如下。带有复选框问题的Android回收站视图
public class FurtherExtrasAdapter extends RecyclerView.Adapter<FurtherExtrasAdapter.ViewHolder> {
ArrayList<Item> items;
Context context;
int flag = 0;
private CouponCodeActivity mThis;
public FurtherExtrasAdapter(ArrayList<Item> items, CouponCodeActivity mThis, Context context) {
this.items = items;
this.mThis = mThis;
this.context = context;
}
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_cell_platform_item, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(final ViewHolder holder, final int position) {
;
holder.enrolment.setText(items.get(position).getName());
holder.selectEnrollment.setChecked(items.get(position).isPreselect());
}
@Override
public int getItemCount() {
return items.size();
}
@Override
public long getItemId(int position) {
return super.getItemId(position);
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView enrolment;
CheckBox selectEnrollment;
public ViewHolder(View itemView) {
super(itemView);
enrolment = (TextView) itemView.findViewById(R.id.tv_entrollment);
selectEnrollment = (CheckBox) itemView.findViewById(R.id.cb_select_entrollment);
}
}}
而我的视图类包含以下代码。
rv_further=(RecyclerView)findViewById(R.id.rv_further);
rv_further.setLayoutManager(manager);
rv_further.setVisibility(View.VISIBLE);
rv_further.setHasFixedSize(true);
rv_further.setItemAnimator(new DefaultItemAnimator());
rv_further.setAdapter(adapter);
public void updateButtonState(double num) {
checkedBoxs += num;
if (checkedBoxs > 0) {
Log.d("---CHECKED",String.valueOf(checkedBoxs));
btnApply.setEnabled(true);
} else {
Log.d("---UNCHECKED",String.valueOf(checkedBoxs));
btnApply.setEnabled(false);
}
}
但是如何控制排他性? –
是什么。你确切想要......? –
1.活动中的按钮应根据用户点击复选框进行更新。如果没有选择,按钮应该禁用。 2.对于回收商视图中的一些项目,一个排他性布尔变量是der。如果它是真的,那么我们可以检查/选择只有该检查按钮。其他人应该自动取消选择。 –