Android编程单选项框RadioGroup综合应用示例

本文实例讲述了Android编程单选项框RadioGroup用法。分享给大家供大家参考,具体如下:

今天介绍的是RadioGroup 的组事件.RadioGroup 可将各自不同的RadioButton ,设限于同一个Radio 按钮组,同一个RadioGroup 组里的按钮,只能做出单一选择(单选题).

首先,我们先设计一个TextView Widget ,以及一个RadioGroup ,并将该RadioGroup 内放置两个RadioButton ,默认为都不选择,在程序运行阶段,利用onCheckedChanged 作为启动事件装置,让User选择其中一个按钮,显示被选择的内容,最的将RadioButton 的选项文字显示于TextView 当中.

下面我们看一下效果图:

 

下面是涉及的相关代码:

string.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
 <string name="hello">Hello World, RadioGroupDemo</string>
 <string name="app_name">RadioGroupDemo</string>
 <string name="tr_radio_op1">帅哥</string>
 <string name="tr_radio_op2">美女</string>
 <string name="str_radio_question1">请问你是?</string>
</resources>

主布局main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
 <!--第一個TextView -->
 <TextView
  android:id="@+id/myTextView"
  android:layout_width="228px"
  android:layout_height="49px"
  android:text="@string/str_radio_question1"
  android:textSize="30sp"
 />
 <!--建立一個RadioGroup -->
 <RadioGroup
  android:id="@+id/myRadioGroup"
  android:layout_width="137px"
  android:layout_height="216px"
  android:orientation="vertical"
  >
  <!--第一個RadioButton -->
  <RadioButton
   android:id="@+id/myRadioButton1"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/tr_radio_op1"
  />
  <!--第二個RadioButton -->
  <RadioButton
   android:id="@+id/myRadioButton2"
   android:layout_width="wrap_content"
   android:layout_height="wrap_content"
   android:text="@string/tr_radio_op2"
  />
  </RadioGroup>
</LinearLayout>

最后是主控制程序RadioGroupDemo.Java:

package com.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.TextView;
public class RadioGroupDemo extends Activity
{
 public TextView mTextView1;
 public RadioGroup mRadioGroup1;
 public RadioButton mRadio1,mRadio2;
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  /*取得 TextView、RadioGroup、RadioButton对象*/
  mTextView1 = (TextView) findViewById(R.id.myTextView);
  mRadioGroup1 = (RadioGroup) findViewById(R.id.myRadioGroup);
  mRadio1 = (RadioButton) findViewById(R.id.myRadioButton1);
  mRadio2 = (RadioButton) findViewById(R.id.myRadioButton2);
  /*RadioGroup用OnCheckedChangeListener来运行*/
  mRadioGroup1.setOnCheckedChangeListener(mChangeRadio);
 }
 private RadioGroup.OnCheckedChangeListener mChangeRadio = new
      RadioGroup.OnCheckedChangeListener()
 {
  @Override
  public void onCheckedChanged(RadioGroup group, int checkedId)
  {
   // TODO Auto-generated method stub
   if(checkedId==mRadio1.getId())
   {
    /*把mRadio1的内容传到mTextView1*/
    mTextView1.setText(mRadio1.getText());
   }
   else if(checkedId==mRadio2.getId())
   {
    /*把mRadio2的内容传到mTextView1*/
    mTextView1.setText(mRadio2.getText());
   }
  }
 };
}

运行RadioGroupDemo.java ,将得到以上效果。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android视图View技巧总结》、《Android布局layout技巧总结》、《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • android自定义RadioGroup可以添加多种布局的实现方法

    android自带的RadioGroup是继承自LinearLayout,如果布局的时候不是直接写radiobutton,即radiobutton外面还包了一层容器,这时分组是不成功的,因为查找不到radiobutton,如果要实现这种效果呢,于是看了RadioGroup的源码,发现问题在于addView方法和自定义的PassThroughHierarchyChangeListener: 下面就这两个地方动手脚,先拷贝源码,然后去掉RadioGroup(Context context, Attr

  • android RadioGroup的使用方法

    创建一个MainActivity.java的主类 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height=&

  • Android RadioGroup 设置某一个选中或者不可选中的方法

    如题目的要求,可以参考如下代码: public void generAeidLength(RadioGroup radGroup) { if (ClientAPI.getAeid().length() == 10) { System.out.println(ClientAPI.getAeid()); type_kyc.getChildAt(1).setEnabled(false); } else { System.out.println(ClientAPI.getAeid()); type_ky

  • Android编程开发之RadioGroup用法实例

    本文实例讲述了Android编程开发之RadioGroup用法.分享给大家供大家参考,具体如下: RadioGroup 有时候比较有用.主要特征是给用户提供多选一机制. MainActivity.java package com.example.lesson16_radio; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget

  • Android开发之RadioGroup的简单使用与监听示例

    本文实例讲述了Android RadioGroup的简单使用与监听.分享给大家供大家参考,具体如下: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_pa

  • Android程序开发中单选按钮(RadioGroup)的使用详解

    在还没给大家介绍单选按钮(RadioGroup)的使用,先给大家展示下效果图吧: xml文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_heig

  • Android RadioGroup和RadioButton控件简单用法示例

    本文实例讲述了Android RadioGroup和RadioButton控件简单用法.分享给大家供大家参考,具体如下: RadioGroup和RadioButton代表的是Android中单选按钮的一种控件,写个简单的代码熟悉一下: import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import a

  • 让Android中RadioGroup不显示在输入法上面的办法

    如果你在开发过程中经常使用 RadioGroup,那你是否遇到过下面这种情况 每当你点击EditText弹出输入法时,RadioGroup总是向上移动到输入法的上面. 你可能会想到需要给RadioGroup添加下面这条属性: android:layout_alignParentBottom="true" 但当你打开xml文件时,很尴尬的发现这个属性已经加上了,那要怎么解决这个小bug呢? 其实很简单,只需要在AndroidManifest.xml文件里给当前类的注册信息中添加一个属性:

  • Android控件系列之RadioButton与RadioGroup使用方法

    学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用属性 3.理解RadioButton和CheckBox的区别 4.掌握RadioGroup选中状态变换的事件(监听器) RadioButton和CheckBox的区别: 1.单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中 2.一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个

  • Android ViewPager与radiogroup实现关联示例

    Android ViewPager与radiogroup实现关联 效果图展示 Android ViewPager与radiogroup实现关联步骤 1.实例化ViewPager 2.通过LayoutInflater加载布局,返回View结果 3.把生成的每一个View对象添加到List集合中 4.实例化适配器,传递View集合 5.在适配器中继承自PagerAdapter,实现内部的四个方法 getCount(); 返回视图的数量 isViewFromObject(); 是否通过对象加载视图 V

随机推荐