Android 学习笔记---获取RadioGroup的选定值

Android 学习笔记---获取RadioGroup的选定值

1,获取RadioGroup控件: RadioGroup radioGroup = (RadioGroup)findViewById(R.id.myRadioGroup);

2,获取RadioButton控件; RadioButton radioButton = (RadioButton)findViewById(radioGroup.getCheckedRadioButtonId());

3,获取选中的radio的值: String text = radioButton.getText().toString();

4,为radioGroup添加监听事件,用来监听组件内部的事件响应: radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override public void onCheckedChanged(RadioGroup group, int checkedId) { //在这个函数里面用来改变选择的radioButton的数值,以及与其值相关的 //任何操作,详见下文 selectRadioBtn(); } });

5,在onCreat中需要初始化上面的四条信息;

6,整体的使用样例: protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);         setContentView(R.layout.waterselect);                 getViews();         setListenerForView(); }

private void getViews(){   //获取库内上水的radio组件信息、   radioGroup = (RadioGroup)findViewById(R.id.isWaterByContent);   }

private void setListenerForView(){ //选择radio  selectRadioBtn();   //库内上水的监听事件  radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { @Override  public void onCheckedChanged(RadioGroup group, int checkedId) { selectRadioBtn();  }  }); }

private void selectRadioBtn(){     radioButton = (RadioButton)findViewById(radioGroup.getCheckedRadioButtonId());     waterIn = radioButton.getText().toString();    Log.i("radio", waterIn);     }

来自:http://blog.sina.com.cn/s/blog_9c5364110101c1bj.html

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin" >

    <!-- 定义RadioGroup控件 ,代表政治面貌选择组 -->
    <RadioGroup
        android:id="@+id/radiogroup1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
        <!-- 定义RadioButton控件 ,代表党员选项 -->
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="党员" />
        <!-- 定义RadioButton控件 ,代表群众选项 -->
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="群众" />
        <!-- 定义RadioButton控件 ,代表团员选项 -->
        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="团员" />
    </RadioGroup>

    <TextView

        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="结果"
        android:id="@+id/yl1"></TextView>
        <!--android:layout_gravity="center_horizontal" />-->

</LinearLayout>
package com.example.yanlei.yl2;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
//导入必备的包
import android.app.Activity;
import android.os.Bundle;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class MainActivity extends AppCompatActivity {


    private RadioGroup radiogroup1;        //定义足球的复选框对象
    private TextView yl1;            //定义结果文本便签对象

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);        //调用父类的onCreate方法

        //通过setContentView方法设置当前页面的布局文件为activity_main
        setContentView(R.layout.activity_main);
        findView();            //获取页面中的控件
        setListener();        //设置控件的监听器
    }

    private void setListener() {
        // TODO Auto-generated method stub
        //设置所有Radiogroup的状态改变监听器
        radiogroup1.setOnCheckedChangeListener(mylistener);

    }

    RadioGroup.OnCheckedChangeListener mylistener=new RadioGroup.OnCheckedChangeListener()
    {
        @Override
        public void onCheckedChanged(RadioGroup Group, int Checkid) {
            // TODO Auto-generated method stub
            //设置TextView的内容显示CheckBox的选择结果
            setText();
        }
    };


    private void findView() {
        // TODO Auto-generated method stub
        //通过findViewById得到对应的控件对象
        radiogroup1 = (RadioGroup)findViewById(R.id.radiogroup1);

        yl1 = (TextView)findViewById(R.id.yl1);
    }

    private void setText(){
        String str;
        yl1.setText("");    //清空TextView的内容
        RadioButton radioButton = (RadioButton)findViewById(radiogroup1.getCheckedRadioButtonId());

        int id= radiogroup1.getCheckedRadioButtonId();
        str=radioButton.getText().toString();
        yl1.setText("选择对象是:id="+id+",值:"+str);

    }


}