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);

    }

}
时间: 2024-12-28 06:31:59

Android 学习笔记---获取RadioGroup的选定值的相关文章

Android学习笔记--获取传感器信息

原文链接:http://www.open-open.com/lib/view/open1423812538326.html android 4.4 (API等级19)支持以下传感器: (注意并不是所有的手机都支持全部的传感器) TYPE_ACCELEROMETER 加速度传感器,单位是m/s2,测量应用于设备X.Y.Z轴上的加速度 传感器类型值(Sensor Type):1 (0x00000001) TYPE_AMBIENT_TEMPERATURE 温度传感器,单位是℃ 传感器类型值(Senso

Android学习笔记-获取手机内存,SD卡存储空间。

前面介绍到如何保存数据到手机内存或者SD卡,但是问题是,在保存以前,我们还需要对他们的空间(可用空间),进行判断,才可以进行后续操作,所以,本节我们就介绍如何获取手机内存以及Sd卡的空间. //这时获取手机内存的 // File path = Environment.getDataDirectory(); //这时获取SD卡的空间 File path = Environment.getExternalStorageDirectory(); StatFs stat = new StatFs(pat

Android 学习笔记(二七):Menu

Menu由两种形式,Option menu和Context menu.前者是按下设备的Menu硬按钮弹出,后者是长按widget弹出. Option Menu 当我们按下Menu的硬件按钮时,Option Menu将被触发显示,最多可以显示6个选项的icon菜单,如果选项多于6个,第6个选项显示为“More“,点击可以进入扩展菜单.我们将在Android学习笔记(十一):Activity-ListView的例子一的基础上来学习Option Menu,也就是一个基于activity的菜单. 在这个

【转】 Pro Android学习笔记(十九):用户界面和控制(7):ListView

目录(?)[-] 点击List的item触发 添加其他控件以及获取item数据 ListView控件以垂直布局方式显示子view.系统的android.app.ListActivity已经实现了一个只含有一个ListView的Activity,并通过setListAdapter()方法来管理adapter.我们可以通过扩展ListActivity来实现. 我们要在整个屏幕上显示ListView,我们直接继承使用ListActivity,不需要在定义自己的layout XML文件,我们在上一学习中

Android学习笔记_78_ Android开发中使用软引用和弱引用防止内存溢出

在<Effective Java 2nd Edition>中,第6条"消除过期的对象引用"提到,虽然Java有 垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池.缓存中的过期对象都有可能引发内存泄露的问题.书中还提到可以用 WeakHashMap来作为缓存的容器可以有效解决这一问题.之前也确实遇到过类似问题,但是没有接触过"弱引用"相关的问题,于是查阅了一些资料. <Java 理论与实践: 用弱引用堵住内存泄漏>

Android学习笔记(十四)——在运行时添加碎片(附源码)

在运行时添加碎片 点击获取源码 将UI分割为多个可配置的部分是碎片的优势之一,但其真正强大之处在于可在运行时动态地把它们添加到活动中. 1.使用上一篇创建的Fragments项目,在main.xml文件中注释掉两个<fragment>元素: 2.在FragmentActivity.java中添加下面的代码: FragmentManager fragmentManager = getSupportFragmentManager();//向活动添加碎片 FragmentTransaction fr

Pro Android学习笔记(二九):用户界面和控制(17):include和merge

xml控件代码重用:include 如果我们定义一个控件,需要在不同的layout中重复使用,或者在同一个layout中重复使用,可以采用include的方式.例如定义my_button.xml如下 <?xml version="1.0" encoding="utf-8"?> <Button xmlns:android="http://schemas.android.com/apk/res/android"     androi

Pro Android学习笔记(十):了解Intent(上)

Android引入了Intent的概念来唤起components,component包括:1.Activity(UI元件) 2.Service(后台代码) 3.Broadcast receiver(处理广播消息的代码) 4.Content provider(抽象数据的代码) Intent基本含义 intent是通知平台处理(唤起)的动作.Android唤起的动作将取决于注册了什么动作.例如我们有个简单的Activity:IntentBaiscViewActivity.在AndroidManife

Android学习笔记(四七):Content Provider初谈和Android联系人信息

Content Provider 在数据处理中,Android通常使用Content Provider的方式.Content Provider使用Uri实例作为句柄的数据封装的,很方便地访问地进行数据的增.删.改.查的操作.Android并不提供所有应用共享的数据存储,采用content Provider,提供简单便捷的接口来保持和获取数据,也可以实现跨应用的数据访问.简单地说,Android通过content Provider从数据的封装中获取信息. Content provider使用Uri