这是我的代码的一部分,其中包括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()状态进行操作。

10-06 03:20