这是我的代码的一部分,其中包括CheckBox(ChckBoxNo):
final CheckBox ChckBoxNo = (CheckBox)promptsView.findViewById(R.id.ChkBoxNo);
ChckBoxNo.setChecked(true);
ChckBoxNo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ChckBoxNo.isChecked()) {
ChckBoxNo.setChecked(false);
}
else if (!ChckBoxNo.isChecked())
{
ChckBoxNo.setChecked(true);
}
}
});
首先,我在复选框上将isChecked()方法设置为true,然后在复选框上实现onclicklistener。
当我运行该应用程序时,该复选框已按照我先前定义的方式被选中,但是当我单击该复选框时,该复选框处于未选中状态,然后立即被再次选中(我没有再次单击该复选框!)
为了解决这个问题,我该怎么办,我的代码有什么错误?
谢谢!
最佳答案
Checkbox
将自动处理“检查”过程-您不必为标准用法自己进行管理。
从文档中签出this example。在这里,当捕获到单击事件时,它们将根据isChecked()
状态进行操作。