【发布时间】:2016-11-24 20:01:04
【问题描述】:
您好,我是 android 编程世界的新手,我遇到了这个问题,我想为视图中的所有多个复选框设置一个通用的 onClickListener 或 onCheckChangedListener。
在我浏览过的大多数论坛中,他们建议对每个复选框实施 OnClickListener,我觉得这不是一个好主意,并且觉得这是不必要的开销。 所以要求是我有与天相关的复选框,每一天代表周日到周六以及每一天。我需要在选中 Everyday 时取消选中所有选中的日期,并在选中任何其他日期时取消选中 EveryDay checkBox。
我尝试了以下代码,但控件从未到达 onClickListener 内部。
public class AddEditGroupActivity extends Activity
implements View.OnClickListener {
public void onClick(View v) {
if(v.getId() == R.id.addedit_restrict_byeveryday) {
if(((CheckBox)v).isChecked()) {
((CheckBox) findViewById(R.id.addedit_restrict_bysunday)).setChecked(false);
((CheckBox) findViewById(R.id.addedit_restrict_bymonday)).setChecked(false);
((CheckBox) findViewById(R.id.addedit_restrict_bytuesday)).setChecked(false);
((CheckBox) findViewById(R.id.addedit_restrict_bywednesday)).setChecked(false);
((CheckBox) findViewById(R.id.addedit_restrict_bythursday)).setChecked(false);
((CheckBox) findViewById(R.id.addedit_restrict_byfriday)).setChecked(false);
((CheckBox) findViewById(R.id.addedit_restrict_bysaturday)).setChecked(false);
}
} else if(v.getId() != R.id.addedit_restrict_byeveryday) {
if(((CheckBox)v).isChecked()) {
((CheckBox) findViewById(R.id.addedit_restrict_byeveryday)).setChecked(false);
}
}
}
}
请提出完成这项任务的前进方向。
【问题讨论】: