Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将EventListeners添加到多个复选框-Android Studio/Java_Java_Android_Checkbox_Android Checkbox - Fatal编程技术网

将EventListeners添加到多个复选框-Android Studio/Java

将EventListeners添加到多个复选框-Android Studio/Java,java,android,checkbox,android-checkbox,Java,Android,Checkbox,Android Checkbox,我正在尝试将事件侦听器添加到视图中的三个复选框中。但是当我在android平板电脑上测试它时,只有一个复选框的EventListener有效。。。请帮忙。(注意:我对编程非常陌生,非常感谢您的详细解释。谢谢!) Edit1:model类基本上负责生成正则表达式字符串。这三个复选框为用户提供了包括/排除数字/数字/锚点以创建正则表达式字符串的选项。下面的代码是负责将eventlisteners添加到3个复选框的控制器,尽管我不确定是否正确 EDIT2:通过在复选框之前添加final来修复它。。。不

我正在尝试将事件侦听器添加到视图中的三个复选框中。但是当我在android平板电脑上测试它时,只有一个复选框的EventListener有效。。。请帮忙。(注意:我对编程非常陌生,非常感谢您的详细解释。谢谢!)

Edit1:model类基本上负责生成正则表达式字符串。这三个复选框为用户提供了包括/排除数字/数字/锚点以创建正则表达式字符串的选项。下面的代码是负责将eventlisteners添加到3个复选框的控制器,尽管我不确定是否正确

EDIT2:通过在复选框之前添加final来修复它。。。不知道它为什么起作用:S

// a method in my controller
public void checkListener() {

  CheckBox dig = (CheckBox) findViewById(R.id.dig);
  CheckBox blarg = (CheckBox) findViewById(R.id.blarg);
  CheckBox duff = (CheckBox) findViewById(R.id.duff);

  dig.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
         if (((CheckBox) view).isChecked()) {
           model.setLetter(true); //setting a bool val in my model class
           newRegex(); // this method generates a regex string from the model class and outputs it into the View           }
       else {
           model.setLetter(false);
           newRegex(); // generates a regex string and updates the view
       }
  }

    blarg.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
         if (((CheckBox) view).isChecked()) {
           model.setSomething(true); //setting a bool val in my model class
           newRegex();
       }
       else {
           model.setSomething(false);
           newRegex();
       }
  }

    duff.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View view) {
         if (((CheckBox) view).isChecked()) {
           model.setAlpha(true);
           newRegex();
       }
         else {
           model.setAlpha(false); //setting a bool val in my model class
           newRegex();
       }
  }

}

“但当我部署我的应用程序时,只有一个复选框有效…”是什么意思。你能更具体地说明到底发生了什么吗?我在安卓平板电脑上测试它,以确保它能运行。模型类主要负责生成正则表达式字符串。这三个复选框为用户提供了包括/排除数字/数字/锚点以创建正则表达式字符串的选项。当我点击其中一个复选框时,对于ie数字,它将只生成一个包含锚和字母的正则表达式字符串。问题是只有一个复选框更新正则表达式字符串…重复相同的语句是什么意思?抱歉,这意味着将其设置为false,请再次查看。您所说的“但是当我部署我的应用程序时,只有一个复选框有效…”是什么意思。你能更具体地说明到底发生了什么吗?我在安卓平板电脑上测试它,以确保它能运行。模型类主要负责生成正则表达式字符串。这三个复选框为用户提供了包括/排除数字/数字/锚点以创建正则表达式字符串的选项。当我点击其中一个复选框时,对于ie数字,它将只生成一个包含锚和字母的正则表达式字符串。问题是只有一个复选框更新正则表达式字符串…重复相同的语句是什么意思?抱歉,这意味着将其设置为false,请再次查看。