实现listview中一行中有多个checkbox的多选
android UI进阶之实现listView中checkbox的使用
最近公司做一个关于食堂订餐方面的应用用到了这个界面所以我帖出来跟大家分享一下。费话不多说。
首先是这里有两个类,一个是实体类MeatBean,另一个是adapter类;
public class MeatBean implements Serializable {
private String MealDate;
private String UserID;
private String Week;
private boolean HasBreakFast;
private boolean HasLunch;
private boolean HasDinner;
private boolean HasMidnight;
private boolean HasHorizontal;
private boolean HasVertical;
public DataBean(String mealDate, String userID, String week, boolean hasBreakFast, boolean hasLunch, boolean hasDinner, boolean hasMidnight) {
MealDate = mealDate;
UserID = userID;
Week = week;
HasBreakFast = hasBreakFast;
HasLunch = hasLunch;
HasDinner = hasDinner;
HasMidnight = hasMidnight;
}
public boolean isHasHorizontal() {
return HasHorizontal;
}
public void setHasHorizontal(boolean hasHorizontal) {
HasHorizontal = hasHorizontal;
}
public boolean isHasVertical() {
return HasVertical;
}
public void setHasVertical(boolean hasVertical) {
HasVertical = hasVertical;
}
public String getMealDate() {
return MealDate;
}
public void setMealDate(String MealDate) {
this.MealDate = MealDate;
}
public String getUserID() {
return UserID;
}
public void setUserID(String UserID) {
this.UserID = "";
}
public String getWeek() {
return Week;
}
public void setWeek(String Week) {
this.Week = Week;
}
public boolean isHasBreakFast() {
return HasBreakFast;
}
public void setHasBreakFast(boolean HasBreakFast) {
this.HasBreakFast = HasBreakFast;
}
public boolean isHasLunch() {
return HasLunch;
}
public void setHasLunch(boolean HasLunch) {
this.HasLunch = HasLunch;
}
public boolean isHasDinner() {
return HasDinner;
}
public void setHasDinner(boolean HasDinner) {
this.HasDinner = HasDinner;
}
public boolean isHasMidnight() {
return HasMidnight;
}
public void setHasMidnight(boolean HasMidnight) {
this.HasMidnight = HasMidnight;
}
}
}
MyAdapter中主要还是和之前单个列表的写法一样下面我把我写的adapter的内容贴出来
public class MyAdapter extends BaseAdapter {
private Activity mContext;
List<MeatBean.DataBean> mList;
private LayoutInflater mInflater;
SimpleDateFormat sf = new SimpleDateFormat("MM-dd");
CheckBox ckBreakfast, ckLunch, ckAfter, ckNight;
private int testBool, testBool2, testBool3, testBool4;
public MyAdapter(Activity mContext, List<MeatBean.DataBean> mList, CheckBox ckBreakfast, CheckBox ckLunch, CheckBox ckAfter, CheckBox ckNight) {
this.mContext = mContext;
this.mList = mList;
this.mInflater = LayoutInflater.from(mContext);
this.ckBreakfast = ckBreakfast;
this.ckLunch = ckLunch;
this.ckAfter = ckAfter;
this.ckNight = ckNight;
}
@Override
public int getCount() {
return mList.size();
}
@Override
public Object getItem(int position) {
return mList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
@Override
public View getView(int position, View view, ViewGroup parent) {
ViewHolder holder = null;
if (view == null) {
view = mInflater.inflate(R.layout.item_check_box_table, null);
holder = new ViewHolder(view);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
MeatBean.DataBean bean = mList.get(position);
String mDate = sf.format(DateUtil.setDate(bean.getMealDate()));
holder.tvDate.setText(mDate);
holder.tvWeek.setText(String.valueOf(bean.getWeek()));
if (bean.isHasBreakFast() && bean.isHasLunch()
&& bean.isHasDinner() && bean.isHasMidnight()) {
bean.setHasHorizontal(true);
} else {
bean.setHasHorizontal(false);
}
holder.ckChildBreakfast.setId(position);
holder.ckChildLunch.setId(position);
holder.ckChildNight.setId(position);
holder.ckChildNightSnack.setId(position);
holder.ckChildAll.setId(position);
holder.ckChildBreakfast.setChecked(bean.isHasBreakFast());
holder.ckChildLunch.setChecked(bean.isHasLunch());
holder.ckChildNight.setChecked(bean.isHasDinner());
holder.ckChildNightSnack.setChecked(bean.isHasMidnight());
holder.ckChildAll.setChecked(bean.isHasHorizontal());
//需求设置第一行不可点击
if (position == 0) {
holder.tvDate.setTextColor(mContext.getResources().getColor(R.color.grey_home));
holder.tvWeek.setTextColor(mContext.getResources().getColor(R.color.grey_home));
holder.labelView.setTriangleBackgroundColor(mContext.getResources().getColor(R.color.grey_home));
holder.ckChildBreakfast.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_home)));
holder.ckChildLunch.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_home)));
holder.ckChildNight.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_home)));
holder.ckChildNightSnack.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_home)));
holder.ckChildAll.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_home)));
holder.ckChildBreakfast.setEnabled(false);
holder.ckChildLunch.setEnabled(false);
holder.ckChildNight.setEnabled(false);
holder.ckChildNightSnack.setEnabled(false);
holder.ckChildAll.setEnabled(false);
} else {
holder.tvDate.setTextColor(mContext.getResources().getColor(R.color.black));
holder.tvWeek.setTextColor(mContext.getResources().getColor(R.color.black));
holder.labelView.setTriangleBackgroundColor(mContext.getResources().getColor(R.color.green));
if (holder.ckChildBreakfast.isChecked()) {
holder.ckChildBreakfast.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
holder.ckChildBreakfast.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (holder.ckChildLunch.isChecked()) {
holder.ckChildLunch.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
holder.ckChildLunch.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (holder.ckChildNight.isChecked()) {
holder.ckChildNight.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
holder.ckChildNight.setButtonTintList(StringUtil.createColorStateList(mContext.getResources().getColor(R.color.grey_dark), Color.GREEN, Color.GREEN, Color.GREEN));
}
if (holder.ckChildNightSnack.isChecked()) {
holder.ckChildNightSnack.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
holder.ckChildNightSnack.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (holder.ckChildAll.isChecked()) {
holder.ckChildAll.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
holder.ckChildAll.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
holder.ckChildBreakfast.setEnabled(true);
holder.ckChildLunch.setEnabled(true);
holder.ckChildNight.setEnabled(true);
holder.ckChildNightSnack.setEnabled(true);
holder.ckChildAll.setEnabled(true);
}
final ViewHolder finalHolder = holder;
//点击时把值修改下
holder.ckChildBreakfast.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
MeatBean.DataBean dat = mList.get(buttonView.getId());
dat.setHasBreakFast(isChecked);
mList.set(buttonView.getId(), dat);
testBool = 0;
for (int i = 0; i < mList.size(); i++) {
if (mList.get(i).isHasBreakFast()) {
testBool++;
}
}
if (testBool == 30 || testBool == 31) {
ckBreakfast.setChecked(true);
} else {
ckBreakfast.setChecked(false);
}
if (isChecked) {
finalHolder.ckChildBreakfast.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
finalHolder.ckChildBreakfast.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (finalHolder.ckChildBreakfast.isChecked() && finalHolder.ckChildLunch.isChecked()
&& finalHolder.ckChildNight.isChecked() && finalHolder.ckChildNightSnack.isChecked()) {
finalHolder.ckChildAll.setChecked(true);
dat.setHasHorizontal(true);
} else {
finalHolder.ckChildAll.setChecked(false);
dat.setHasHorizontal(false);
}
}
});
holder.ckChildLunch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
MeatBean.DataBean dat = mList.get(buttonView.getId());
dat.setHasLunch(isChecked);
mList.set(buttonView.getId(), dat);
testBool2 = 0;
for (int i = 0; i < mList.size(); i++) {
if (mList.get(i).isHasLunch()) {
testBool2++;
}
}
if (testBool2 == 30 || testBool2 == 31) {
ckLunch.setChecked(true);
} else {
ckLunch.setChecked(false);
}
if (isChecked) {
finalHolder.ckChildLunch.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
finalHolder.ckChildLunch.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (finalHolder.ckChildBreakfast.isChecked() && finalHolder.ckChildLunch.isChecked()
&& finalHolder.ckChildNight.isChecked() && finalHolder.ckChildNightSnack.isChecked()) {
finalHolder.ckChildAll.setChecked(true);
dat.setHasHorizontal(true);
} else {
finalHolder.ckChildAll.setChecked(false);
dat.setHasHorizontal(false);
}
}
});
holder.ckChildNight.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
MeatBean.DataBean dat = mList.get(buttonView.getId());
dat.setHasDinner(isChecked);
mList.set(buttonView.getId(), dat);
testBool3 = 0;
for (int i = 0; i < mList.size(); i++) {
if (mList.get(i).isHasDinner()) {
testBool3++;
}
}
if (testBool3 == 30 || testBool3 == 31) {
ckAfter.setChecked(true);
} else {
ckAfter.setChecked(false);
}
if (isChecked) {
finalHolder.ckChildNight.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
finalHolder.ckChildNight.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (finalHolder.ckChildBreakfast.isChecked() && finalHolder.ckChildLunch.isChecked()
&& finalHolder.ckChildNight.isChecked() && finalHolder.ckChildNightSnack.isChecked()) {
finalHolder.ckChildAll.setChecked(true);
dat.setHasHorizontal(true);
} else {
finalHolder.ckChildAll.setChecked(false);
dat.setHasHorizontal(false);
}
}
});
holder.ckChildNightSnack.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
MeatBean.DataBean dat = mList.get(buttonView.getId());
dat.setHasMidnight(isChecked);
mList.set(buttonView.getId(), dat);
testBool4 = 0;
for (int i = 0; i < mList.size(); i++) {
if (mList.get(i).isHasMidnight()) {
testBool4++;
}
}
if (testBool4 == 30 || testBool4 == 31) {
ckNight.setChecked(true);
} else {
ckNight.setChecked(false);
}
if (isChecked) {
finalHolder.ckChildNightSnack.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
finalHolder.ckChildNightSnack.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (finalHolder.ckChildBreakfast.isChecked() && finalHolder.ckChildLunch.isChecked()
&& finalHolder.ckChildNight.isChecked() && finalHolder.ckChildNightSnack.isChecked()) {
finalHolder.ckChildAll.setChecked(true);
dat.setHasHorizontal(true);
} else {
finalHolder.ckChildAll.setChecked(false);
dat.setHasHorizontal(false);
}
}
});
holder.ckChildAll.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
MeatBean.DataBean dat = mList.get(buttonView.getId());
dat.setHasHorizontal(isChecked);
mList.set(buttonView.getId(), dat);
if (isChecked) {
finalHolder.ckChildAll.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.green)));
} else {
finalHolder.ckChildAll.setButtonTintList(ColorStateList.valueOf(mContext.getResources().getColor(R.color.grey_dark)));
}
if (isChecked) {
finalHolder.ckChildAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dat.setHasLunch(true);
dat.setHasDinner(true);
dat.setHasMidnight(true);
dat.setHasBreakFast(true);
finalHolder.ckChildBreakfast.setChecked(dat.isHasBreakFast());
finalHolder.ckChildLunch.setChecked(dat.isHasLunch());
finalHolder.ckChildNight.setChecked(dat.isHasDinner());
finalHolder.ckChildNightSnack.setChecked(dat.isHasMidnight());
finalHolder.ckChildAll.setChecked(dat.isHasHorizontal());
}
});
} else {
finalHolder.ckChildAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dat.setHasLunch(false);
dat.setHasDinner(false);
dat.setHasMidnight(false);
dat.setHasBreakFast(false);
finalHolder.ckChildBreakfast.setChecked(dat.isHasBreakFast());
finalHolder.ckChildLunch.setChecked(dat.isHasLunch());
finalHolder.ckChildNight.setChecked(dat.isHasDinner());
finalHolder.ckChildNightSnack.setChecked(dat.isHasMidnight());
finalHolder.ckChildAll.setChecked(dat.isHasHorizontal());
}
});
}
}
});
return view;
}
//全选
public void selectAll() {
if (mList != null) {
for (int i = 0; i < mList.size(); i++) {
if (i != 0) {
mList.get(i).setHasBreakFast(true);
mList.get(i).setHasLunch(true);
mList.get(i).setHasDinner(true);
mList.get(i).setHasMidnight(true);
mList.get(i).setHasHorizontal(true);
}
}
this.notifyDataSetChanged();
}
}
//取消全选
public void cancelAll() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0) {
mList.get(i).setHasBreakFast(false);
mList.get(i).setHasLunch(false);
mList.get(i).setHasDinner(false);
mList.get(i).setHasMidnight(false);
mList.get(i).setHasHorizontal(false);
}
}
this.notifyDataSetChanged();
}
//选择垂直 早餐
public void selectVertical() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0) {
mList.get(i).setHasBreakFast(true);
}
}
this.notifyDataSetChanged();
}
//取消垂直 早餐
public void cancelVertical() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0) {
mList.get(i).setHasBreakFast(false);
}
}
this.notifyDataSetChanged();
}
//选择垂直 午餐
public void selectVertical2() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0) {
mList.get(i).setHasLunch(true);
}
}
this.notifyDataSetChanged();
}
//取消垂直 午餐
public void cancelVertical2() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0) {
mList.get(i).setHasLunch(false);
}
}
this.notifyDataSetChanged();
}
//选择垂直 晚餐
public void selectVertical3() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0)
mList.get(i).setHasDinner(true);
}
this.notifyDataSetChanged();
}
//取消垂直 晚餐
public void cancelVertical3() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0)
mList.get(i).setHasDinner(false);
}
this.notifyDataSetChanged();
}
//选择垂直 夜宵
public void selectVertical4() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0)
mList.get(i).setHasMidnight(true);
}
this.notifyDataSetChanged();
}
//取消垂直 夜宵
public void cancelVertical4() {
for (int i = 0; i < mList.size(); i++) {
if (i != 0)
mList.get(i).setHasMidnight(false);
}
this.notifyDataSetChanged();
}
static class ViewHolder {
@BindView(R.id.tv_item_date)
TextView tvDate;
@BindView(R.id.tv_item_week)
TextView tvWeek;
@BindView(R.id.ck_child_breakfast)
CheckBox ckChildBreakfast;
@BindView(R.id.ck_child_lunch)
CheckBox ckChildLunch;
@BindView(R.id.ck_child_night)
CheckBox ckChildNight;
@BindView(R.id.ck_child_night_snack)
CheckBox ckChildNightSnack;
@BindView(R.id.ck_child_all)
CheckBox ckChildAll;
@BindView(R.id.item1)
LinearLayout item1;
@BindView(R.id.item2)
LinearLayout item2;
@BindView(R.id.item3)
LinearLayout item3;
@BindView(R.id.item4)
LinearLayout item4;
@BindView(R.id.item5)
LinearLayout item5;
@BindView(R.id.lab)
TriangleLabelView labelView;
ViewHolder(View view) {
ButterKnife.bind(this, view);
}
}
}
MainActivity中只要和adapter 中的进行相关连就能达到 列表控制 tab ,tab也能控制列表中的checkbox
/**
* 多个checkBox 的处理
*/
public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener {
@BindView(R.id.ck_breakfast)
CheckBox ckBreakfast;
@BindView(R.id.ck_lunch)
CheckBox ckLunch;
@BindView(R.id.ck_after)
CheckBox ckAfter;
@BindView(R.id.ck_night)
CheckBox ckNight;
@BindView(R.id.ck_all)
CheckBox ckAll;
@BindView(R.id.listView)
ListView mListView;
private int testBool, testBool2, testBool3, testBool4, mIsCheck;
private String firstDay, lastDay;
List<CheckBox> checkViews = new ArrayList<>();
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd");
List<MeatBean.DataBean> mList = new ArrayList<>();
List<String> mDateList = new ArrayList<>();
MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ButterKnife.bind(this);
initAllData();
}
private void initAllData() {
firstDay = sdf1.format(new Date());
lastDay = DateUtil.getBackDayOfMonth(sdf1);
mDateList = DateUtil.getDays(firstDay, lastDay);
checkViews.add(ckBreakfast);
checkViews.add(ckLunch);
checkViews.add(ckAfter);
checkViews.add(ckNight);
//全选的点击监听
ckBreakfast.setOnCheckedChangeListener(this);
ckLunch.setOnCheckedChangeListener(this);
ckAfter.setOnCheckedChangeListener(this);
ckNight.setOnCheckedChangeListener(this);
ckAll.setOnCheckedChangeListener(this);
adapter = new MyAdapter(MainActivity.this, getInitData(), ckBreakfast, ckLunch, ckAfter, ckNight);
mListView.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
private List<MeatBean.DataBean> getInitData() {
for (int i = 0; i < mDateList.size(); i++) {
Log.d("testDate", mDateList.get(i));
MeatBean.DataBean bean = new MeatBean.DataBean();
bean.setMealDate(mDateList.get(i));
bean.setWeek(DateUtil.getWeek(mDateList.get(i)));
mList.add(bean);
}
// for (int i = 0; i < bean.getData().size(); i++) {
// if (bean.getData().get(i).isHasBreakFast()) {
// testBool++;
// }
// if (bean.getData().get(i).isHasLunch()) {
// testBool2++;
// }
// if (bean.getData().get(i).isHasDinner()) {
// testBool3++;
// }
// if (bean.getData().get(i).isHasMidnight()) {
// testBool4++;
// }
// }
Log.d("testData", testBool + " " + testBool2 + " " + testBool3 + " " + testBool4);
if (testBool == 30 || testBool == 31) {
ckBreakfast.setChecked(true);
}
if (testBool2 == 30 || testBool2 == 31) {
ckLunch.setChecked(true);
}
if (testBool3 == 30 || testBool3 == 31) {
ckAfter.setChecked(true);
}
if (testBool4 == 30 || testBool4 == 31) {
ckNight.setChecked(true);
}
return mList;
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
mIsCheck = 0;
for (int i = 0; i < checkViews.size(); i++) {
if (checkViews.get(i).isChecked()) {
mIsCheck ++;
Log.d("testmIsCheck", mIsCheck + "");
if (mIsCheck == 4) {
ckAll.setChecked(true);
}
}
}
switch (buttonView.getId()) {
case R.id.ck_breakfast:
if (isChecked) {
ckBreakfast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.selectVertical();
}
});
} else {
ckAll.setChecked(false);
ckBreakfast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.cancelVertical();
}
});
}
break;
case R.id.ck_lunch:
if (isChecked) {
ckLunch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.selectVertical2();
}
});
} else {
ckAll.setChecked(false);
ckLunch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.cancelVertical2();
}
});
}
break;
case R.id.ck_after:
if (isChecked) {
ckAfter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.selectVertical3();
}
});
} else {
ckAll.setChecked(false);
ckAfter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.cancelVertical3();
}
});
}
break;
case R.id.ck_night:
if (isChecked) {
ckNight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.selectVertical4();
}
});
} else {
ckAll.setChecked(false);
ckNight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
adapter.cancelVertical4();
}
});
}
break;
case R.id.ck_all:
if (isChecked) {
ckAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ckBreakfast.setChecked(true);
ckLunch.setChecked(true);
ckAfter.setChecked(true);
ckNight.setChecked(true);
ckAll.setChecked(true);
adapter.selectAll();
}
});
} else {
ckAll.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ckBreakfast.setChecked(false);
ckLunch.setChecked(false);
ckAfter.setChecked(false);
ckNight.setChecked(false);
ckAll.setChecked(false);
adapter.cancelAll();
mIsCheck = 0;
}
});
}
break;
default:
break;
}
}
}
这样我们就可以进行联动控制了,代码已经帖出。