您好我是Android编程世界的新手,我对这个问题感到困惑,我想在视图中为所有多个checkBox设置一个常见的onClickListener或onCheckChangedListener。
在我经历过的大多数论坛中,他们建议对每个checkBox实现OnClickListener,我觉得这不是一个好主意,并觉得它是一个不必要的开销。 所以要求是我有几天相关的checkBoxes,每天代表星期日到星期六以及EveryDay。我需要取消选中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);
}
}
}
}
请建议实现此任务的方法是什么。
答案 0 :(得分:0)
我想你可能想要使用radioButton。
答案 1 :(得分:0)
var file = fs.createReadStream(path.join(__dirname, '/public/index.html'));
var options={
fallback: config.deeplink_fallback,
android_package_name:config.deeplink_package_name
};
var detoken = new stream.Transform({ objectMode: true });
detoken._transform = function (chunk, encoding, done) {
var data = chunk.toString()
Object.keys(options).forEach(function (key) {
data = data.replace('{{' + key + '}}', options[key])
});
this.push(data);
done();
}
var inline = inliner({ basedir: path.join(__dirname, '/public') });
res.statusCode=200;
res.setHeader('Content-Type', 'text/html; charset=utf-8');
var newdt=file.pipe(detoken).pipe(inline);
newdt.pipe(res);
您的布局文件
public void onCheckboxClicked(View view) {
boolean checked = ((CheckBox) view).isChecked();
switch(view.getId()) {
case R.id.sports:
if (checked)
uChoice.add("sport");
else
findAndRemove("sport");
break;
}
}