单项选择是一个基本的控件,使用简单。Android的单项选择是通过RadioGroup ,RadioButton 来组合成一个单项选择效果的。下面以一个实例来演示。

1:新建一个RadioButtonDemo的工程。

2:布局文件如下:

<?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 android:text="@+id/TextView01" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <RadioGroup android:id="@+id/RadioGroup01" android:layout_width="wrap_content" android:layout_height="wrap_content"> <RadioButton android:text="@+id/RadioButton01" android:id="@+id/RadioButton01" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> <RadioButton android:text="@+id/RadioButton02" android:id="@+id/RadioButton02" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> <RadioButton android:text="@+id/RadioButton03" android:id="@+id/RadioButton03" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> <RadioButton android:text="@+id/RadioButton04" android:id="@+id/RadioButton04" android:layout_width="wrap_content" android:layout_height="wrap_content"></RadioButton> </RadioGroup> </LinearLayout>

3:源文件代码如下

package com.rocky.stuido.ch425; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; public class RadioButtonDemo extends Activity { private RadioGroup m_RadioGroup; private RadioButton m_Button1; private RadioButton m_Button2; private RadioButton m_Button3; private RadioButton m_Button4; private TextView m_txtView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_txtView = (TextView) this.findViewById(R.id.TextView01); m_Button1 = (RadioButton) this.findViewById(R.id.RadioButton01); m_Button2 = (RadioButton) this.findViewById(R.id.RadioButton02); m_Button3 = (RadioButton) this.findViewById(R.id.RadioButton03); m_Button4 = (RadioButton) this.findViewById(R.id.RadioButton04); m_RadioGroup = (RadioGroup) this.findViewById(R.id.RadioGroup01); m_txtView.setText("Android是基于什么操作系统?"); m_Button1.setText("Windows "); m_Button2.setText("Linux "); m_Button3.setText("Macros "); m_Button4.setText("Java "); m_RadioGroup.setOnCheckedChangeListener(m_RadioGroupChangeListener); } private RadioGroup.OnCheckedChangeListener m_RadioGroupChangeListener = new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if (group.getId() == R.id.RadioGroup01) { if (checkedId == R.id.RadioButton02) { Toast.makeText(getBaseContext(), "恭喜你答对了", Toast.LENGTH_SHORT) .show(); } else { Toast.makeText(getBaseContext(), "请注意,回答错误", Toast.LENGTH_SHORT) .show(); } } } }<textarea name="code" class="c-sharp" cols="50" rows="15">package com.rocky.stuido.ch425; import android.app.Activity; import android.os.Bundle; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.TextView; import android.widget.Toast; public class RadioButtonDemo extends Activity { private RadioGroup m_RadioGroup; private RadioButton m_Button1; private RadioButton m_Button2; private RadioButton m_Button3; private RadioButton m_Button4; private TextView m_txtView; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); m_txtView = (TextView) this.findViewById(R.id.TextView01); m_Button1 = (RadioButton) this.findViewById(R.id.RadioButton01); m_Button2 = (RadioButton) this.findViewById(R.id.RadioButton02); m_Button3 = (RadioButton) this.findViewById(R.id.RadioButton03); m_Button4 = (RadioButton) this.findViewById(R.id.RadioButton04); m_RadioGroup = (RadioGroup) this.findViewById(R.id.RadioGroup01); m_txtView.setText("Android是基于什么操作系统?"); m_Button1.setText("Windows "); m_Button2.setText("Linux "); m_Button3.setText("Macros "); m_Button4.setText("Java "); m_RadioGroup.setContentDescription("setContentDescription"); m_RadioGroup.check(R.id.RadioButton01);//默认值 m_RadioGroup.setOnCheckedChangeListener(m_RadioGroupChangeListener); } private RadioGroup.OnCheckedChangeListener m_RadioGroupChangeListener = new RadioGroup.OnCheckedChangeListener() { public void onCheckedChanged(RadioGroup group, int checkedId) { // TODO Auto-generated method stub if (group.getId() == R.id.RadioGroup01) { if (checkedId == R.id.RadioButton02) { Toast.makeText(getBaseContext(), "恭喜你答对了", Toast.LENGTH_SHORT) .show(); } else { Toast.makeText(getBaseContext(), "请注意,回答错误", Toast.LENGTH_SHORT) .show(); } } } }; }

4:可以看的出来,控件的光荣传统,简单好用。

通过RadioGroup 和RadioButton的配合。一个单选选择很简单。

更多相关文章

  1. android studio对于错误拼写/不识别的英文单词,给予波浪提示。
  2. Android 菜单项选项
  3. Android系统库错误解决
  4. Android 控件背景图片和imagebutton的使用(selector)
  5. 解决 “Error generating final archive: Debug Certificate exp
  6. Android自带的时间空间和日期控件
  7. Android异步框架android-async-http-master的下载导入和错误处理
  8. Android 界面开发---控件事件监听器、按键处理

随机推荐

  1. 自定义progressBar显示静态数据
  2. android 播放器 实现场景搜索 调研
  3. 转载:Setting Up ADB/USB Drivers for And
  4. Android中的常量 DEFAULT_KEYS_SHORTCUT
  5. Android Push Notification
  6. android View全面详解2
  7. android开发新浪微博客户端 完整攻略
  8. android 列表显示事件处理
  9. android 使用工具签名应用
  10. android典型代码系列(八)------传递一个S