有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如果单选按钮已经在Android中被选中,如何防止再次点击?

当有人点击右单选按钮时,我想将分数增加1。如果有人点击2次,分数增加2。我试图用布尔值来防止这种情况,但它不起作用。我错了吗? 这是我的代码:

                boolean isChecked;

                answer[j].setOnClickListener(new View.OnClickListener() {

                    @Override
                    public void onClick(View v) {
                        RadioButton checkedRadioButton = ((RadioButton) v);
                        if (isChecked) {
                            if (checkedRadioButton.isChecked() & CorrectAnswer == 1) {
                                score++;
                                isChecked = false;
                            }
                        }
                    }
                });

谢谢


共 (1) 个答案

  1. # 1 楼答案

    假设不需要OnClickListener之外的值,最简单的方法是将其作为该类的成员变量:

    new View.OnClickListener() {
      private boolean isChecked = true; // HERE
    
      @Override
      public void onClick(View v) {
        RadioButton checkedRadioButton = ((RadioButton) v);
        if (isChecked) {
          if (checkedRadioButton.isChecked() && CorrectAnswer == 1) {
            score++;
            isChecked = false;
          }
        }
      }
    };
    

    最初还需要将其值设置为true,否则它将是false,因此条件体永远不会运行