简单的复选框逻辑

时间:2017-02-01 12:03:17

标签: android checkbox oncheckedchanged

我们班上给我的问题是你可以选择检查标有(A,B,C,D)的4个复选框。每个复选框的值为10.如果选中一个,EditText中显示的数字将为10,如果选中两个则为20,依此类推。

任何人都可以告诉我这方面的onClick类吗?谢谢!

2 个答案:

答案 0 :(得分:0)

使用不同的ID创建四个复选框,例如CB_One,CB_Two,CB_Three,CB_Four和Ids cb_one,cb_two,cb_three,cb_four。将onCheckedChangedListener放入所有,然后将checkChenged传递给editText,格式为10,20,30 40。

CB_One.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

   @Override
   public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
        if(isChecked){
               editText.setText("10");
        } else{
              editText.setText("");
        }
   }
 }

);

CB_Two.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

   @Override
   public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
        if(isChecked){
               editText.setText("20");
        } else{
              editText.setText("");
        }
   }
 }

);

CB_Three.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

   @Override
   public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
        if(isChecked){
               editText.setText("30");
        } else{
              editText.setText("");
        }
   }
 }

);

CB_Four.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

   @Override
   public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
        if(isChecked){
               editText.setText("40");
        } else{
              editText.setText("");
        }
   }
 }

);

答案 1 :(得分:0)

使用此复选框的OnCheckChangeListener

checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

   @Override
   public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {
        if(isChecked){
               // increment your counter by 10
        } else{
              // Decrement your counter by 10
        }
   }
 }

);