单项选择(RadioGroup)

RadioGroup 是 LinearLayout 的子类,继承关系如下:

android.view.ViewGroup
android.widget.LinearLayout
android.widget.RadioGroup

RadioGroup 类方法

阅读《Android 从入门到精通》(10)——单项选择_第1张图片

RadioGroup 示例

完整工程:http://download.csdn.net/detail/sweetloveft/9402088
下述程序中,主要学习 RadioGroup 的用法,需要注意单选按钮的处理逻辑是通过监听 RadioGroup 完成的,具体处理哪个单选按钮则是通过 getId() 完成的。

1.MainActivity.java

package com.sweetlover.activity;import com.sweetlover.radiogroupdemo.R;import android.app.Activity;import android.os.Bundle;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.Toast;import android.widget.RadioGroup.OnCheckedChangeListener;import android.widget.TextView;public class MainActivity extends Activity {private static final int BTN_NUM = 6;private TextView textView = null;private RadioGroup radioGroup = null;private RadioButton[] radioButton = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_main);radioButton = new RadioButton[BTN_NUM];textView = (TextView)findViewById(R.id.textView1);radioGroup = (RadioGroup)findViewById(R.id.radioGroup);radioButton[0] = (RadioButton)findViewById(R.id.radioButton1);radioButton[1] = (RadioButton)findViewById(R.id.radioButton2);radioButton[2] = (RadioButton)findViewById(R.id.radioButton3);radioButton[3] = (RadioButton)findViewById(R.id.radioButton4);radioButton[4] = (RadioButton)findViewById(R.id.radioButton5);radioButton[5] = (RadioButton)findViewById(R.id.radioButton6);radioGroup.setOnCheckedChangeListener(new RadioGroupCheckedListener());}class RadioGroupCheckedListener implements OnCheckedChangeListener {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// TODO Auto-generated method stubfor (int i = 0; i < BTN_NUM; i++) {if (checkedId == radioButton[i].getId() && radioButton[i].isChecked()) {CharSequence text = radioButton[i].getText();textView.setText(text);Toast.makeText(MainActivity.this, text, Toast.LENGTH_SHORT).show();break;}}}}}

2.activity_main.xml

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:padding="30dp"    android:orientation="vertical" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_gravity="center"        android:text="@string/system"        android:textAppearance="?android:attr/textAppearanceMedium" />        <RadioGroup        android:id="@+id/radioGroup"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:padding="30dp" >        <RadioButton            android:id="@+id/radioButton1"            android:layout_width="160dp"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:text="@string/os1" />                <RadioButton            android:id="@+id/radioButton2"            android:layout_width="160dp"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:text="@string/os2" />                <RadioButton            android:id="@+id/radioButton3"            android:layout_width="160dp"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:text="@string/os3" />                <RadioButton            android:id="@+id/radioButton4"            android:layout_width="160dp"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:text="@string/os4" />                <RadioButton            android:id="@+id/radioButton5"            android:layout_width="160dp"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:text="@string/os5" />                <RadioButton            android:id="@+id/radioButton6"            android:layout_width="160dp"            android:layout_height="wrap_content"            android:layout_gravity="center"            android:text="@string/os6" />            </RadioGroup></LinearLayout>

3.string.xml

<resources>    <string name="app_name">RadioGroupDemo</string>    <string name="system">操作系统</string>    <string name="os1">Android</string>    <string name="os2">Sysbian</string>    <string name="os3">WinCE</string>    <string name="os4">PalmOS</string>    <string name="os5">Linux</string>    <string name="os6">iPhoneOS</string></resources>

4.AndroidManifest.xml

<manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="com.sweetlover.radiogroupdemo"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="19" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity android:name="com.sweetlover.activity.MainActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN"/>                <category android:name="android.intent.category.LAUNCHER"/>            </intent-filter>        </activity>    </application></manifest>

更多相关文章

  1. FloatingActionButton 浮动按钮
  2. android 设置键盘按钮为发送按钮并监听 及 键盘显示与隐藏 监听
  3. android 实现自由移动的悬浮按钮
  4. Android的supportV7中默认按钮的颜色设置
  5. android studio 添加按钮点击事件的三种方法
  6. android 按钮 背景 文字 自定义
  7. appwidget中使按钮不能用 以及 appwidget初学指导

随机推荐

  1. Android硬件抽象层(HAL)深入剖析(三)
  2. android中的配置权限
  3. 献给android原生应用层开发初学者技术架
  4. android XML文件解析之 SAX解析方法
  5. Android进程间通信纪要
  6. 史上最强劲的android模拟器命令详解
  7. Android(安卓)Shader着色器浅析
  8. Android从源码分析一:Looper,Handler消息机
  9. Android命令行查看内存使用情况
  10. Android(安卓)FastJson,json解析