一看就会Android之单选按钮和复选框的事件监听

总的来说每一个单选按钮和复选框都有checked()方法来判断是否被选中

为按钮和复选框设置事件监听主要有以下两种:

1:在改变勾选状态时立即触发

2:在点击提交按钮时获取

对于单选按钮(组):

  1. 在改变状态时触发即为单选按钮组设置监听setOnCheckedChangeListener,在重写的onCheckedChanged方法中根据参数checkedId获取被选中的单选按钮,再通过getText()方法获取对应的单选按钮的值,如下:

为单选按钮组RadioGroup添加OnCheckedChangeListener事件监听

RadioGroup sex = (RadioGroup)findViewById(R.id.radioGroup);

sex.setOnCheckedChangeListener(new OnCheckedChangeListener{

@Overrid

public void onCheckedChanged(RadioGroupradioGroup,int checkedId){

       //根据checkedId获取到单选按钮组里面的具体单选按钮

       RadioButton  r = (RadioButton)findViewById(checkedId);

       //获取选中的单选按钮的值

      r.getText();

}

});

  1. 在点击提交按钮或其他按钮时获取

    处理是通过调用单选按钮组对象的getChildCount()方法先获取到单选按钮的个数,然后在该按钮的点击事件中通过for循环,再通过调用单选按钮组对象的getChildAt(int)方法,获取到每一个单选按钮组件对象,并依次遍历该各个按钮进行勾选状态的判断,最后获取到单选按钮对应的值,最后break跳出for循环。

    tijiao.setOnClickListener(new OnClickListener(){

    public void onClick(View v){

      for(inti=0;i<sex.getChildCount();i++){

             RadioButton  r = (RadioButton)sex.getChildAt(i);

                      If(r.isChecked()){

                      String result = r.getText().toString();

                      break;

    }

    }

    }

    });

     

对于复选框:

  1. 在改变状态时触发即为每一个复选框都要添加setOnCheckedChangeListener监听,故可以先创建一个OnCheckedChangeListener状态监听改变对象,然后获取到每一个复选框组件,依次为他们添加此监听对象。

    如下:

private OnCheckedChangeListener  myListener  =  new OnCheckedChangeListener(){

@Overrid

public void onCheckedChanged(CompoundButton buttonView,Boolean isChecked){

       //根据checkedId获取到单选按钮组里面的具体单选按钮

       If(isChecked){

               //获取复选框对应的值

               String str =buttonView.getText().toString();

}

}

}

  1. 在点击提交按钮或其他按钮时获取

    此时是在提交等按钮的单击事件中通过一系列的if语句调用每个复选框的isChecked()方法来判断每一个复选框的状态,从而获取到用户所勾选复选框的拼接字符串。like1,like2,like3都是获取的三个复选框组件。

    tijiao.setOnClickListener(new OnClickListener(){

    public void onClick(View v){

    String str = “”;

    If(like1.isChecked()){

    str += like1.getText().toString()+”|”;

    }

    If(like2.isChecked()){

    str += like2.getText().toString()+”|”;

    }

    If(like3.isChecked()){

    str += like3.getText().toString()+”|”;

    }

    String result = str;

    }

    });



    原文作者:智玲君
    原文地址: https://blog.csdn.net/gpf1320253667/article/details/49385163
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞