将EventListeners添加到多个Checkbox - Android Studio / Java

时间:2017-03-07 23:30:20

标签: java android checkbox android-checkbox

我正在尝试将事件侦听器添加到我的View中的三个复选框。但是当我在Android平板电脑上测试它时,只有一个复选框的事件监视器工作...请帮助。 (注意:我对编程很陌生,所以请详细解释。谢谢!)

Edit1:模型类基本上负责生成REGEX字符串。这三个复选框为用户提供了包含/排除数字/数字/锚点以创建REGEX字符串的选项。下面的代码是负责向3个复选框添加eventlisteners的控制器,但我不确定我是否做得对。

EDIT2:通过在CheckBox之前添加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();
       }
  }

}

0 个答案:

没有答案