安卓开发_单选按钮控件(RadioButton)的简单使用

最近复习安卓基础的时候发现没有写关于单选按钮、复选按钮的博客,可能因为以前学习的时候感觉太简单了就没有写,现在补上吧

当我们在各种客户端注册账号的时候,会有几项单选项,比如选择您的性别。下面就是学习怎么实现这种效果

一、安卓中,单选按钮用RadioButton表示,因为RadioButton是Button的子类,所以可以使用Button的各种属性

RadioButton一般是不单独使用的需要结合RadioGroup控件一起使用,将若干个RadioButton放在一个RadioGroup中,那么将只能选择RadioGroup中的某一个RadioButton

比如讲 语文、数学,英语放在“你最喜欢的课程中” 那么用户将只能选择一个课程

二、使用

首先看下布局文件

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     android:orientation="vertical" >
 6
 7       <TextView
 8             android:layout_width="wrap_content"
 9             android:layout_height="wrap_content"
10             android:text="性别"
11             android:textSize="18dp"/>
12     <RadioGroup
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:id="@+id/id_radiogroup"
16         android:orientation="horizontal"
17
18         >
19
20         <RadioButton
21             android:layout_width="wrap_content"
22             android:layout_height="wrap_content"
23             android:id="@+id/radio_1"
24             android:checked="true"  //设置默认已被选择中
25             android:text="男"
26             />
27         <RadioButton
28             android:layout_width="wrap_content"
29             android:layout_height="wrap_content"
30             android:id="@+id/radio_2"
31             android:text="女"
32             />
33
34     </RadioGroup>
35     <Button
36         android:layout_width="wrap_content"
37         android:layout_height="wrap_content"
38         android:id="@+id/tijiao"
39         android:text="提交"/>
40 </LinearLayout>

可以看到两个RadioButton被放到了一个RadioGroup中,这两个RadioButton的值分别“男”,“女”

表示我们只能选择其中的任意一项选项

效果图:

下面再看JAVA文件

 1 package base_ui;
 2
 3 import com.example.allcode.R;
 4
 5 import android.app.Activity;
 6 import android.os.Bundle;
 7 import android.view.View;
 8 import android.view.View.OnClickListener;
 9 import android.widget.Button;
10 import android.widget.RadioButton;
11 import android.widget.RadioGroup;
12 import android.widget.RadioGroup.OnCheckedChangeListener;
13 import android.widget.Toast;
14
15 public class Ui_RadioButton extends Activity{
16     private RadioGroup radiogroup;
17     private RadioButton radio_one;
18     private RadioButton radio_two;
19     private Button tijiao;
20     String str; //存放点击的按钮的值
21     @Override
22     protected void onCreate(Bundle savedInstanceState) {
23         // TODO Auto-generated method stub
24         super.onCreate(savedInstanceState);
25         setContentView(R.layout.base_ui_radiobutton);
26
27         radiogroup = (RadioGroup) findViewById(R.id.id_radiogroup);
28         radio_one = (RadioButton) findViewById(R.id.radio_1);
29         radio_two = (RadioButton) findViewById(R.id.radio_2);
30         tijiao = (Button) findViewById(R.id.tijiao);
31
32         //改变单选按钮组的值时的响应事件
33         radiogroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
34
35             @Override
36             public void onCheckedChanged(RadioGroup group, int checkedId) {
37                 // TODO Auto-generated method stub
38                 RadioButton radio_button =  (RadioButton)findViewById(checkedId);
39                 str = radio_button.getText().toString().trim();//获取被选中的单选按钮的值
40                 Toast.makeText(Ui_RadioButton.this, "选择单选按钮的值为:"+str, 1).show();
41             }
42         });
43
44         //单击其他按钮时的响应事件
45         tijiao.setOnClickListener(new OnClickListener() {
46
47             @Override
48             public void onClick(View v) {
49                 // TODO Auto-generated method stub
50
51                 for(int i = 0;i<radiogroup.getChildCount();i++)  //循环按钮组子按钮的数量次
52                 {
53                     RadioButton r =  (RadioButton)radiogroup.getChildAt(i); //根据索引值获取单选按钮
54                     if(r.isChecked()) //判断按钮是否被选中
55                     {
56
57                         str = r.getText().toString().trim();//获取被选中的单选按钮的值
58                         Toast.makeText(Ui_RadioButton.this, "点击提交按钮时获取的单选按钮的值为:"+str, 1).show();
59                         break;
60                     }
61                 }
62             }
63         });
64     }
65
66 }

注释很明白了,很简单的

效果图:

时间: 2024-10-06 19:02:59

安卓开发_单选按钮控件(RadioButton)的简单使用的相关文章

3.WP8.1开发_为控件增加动画

示例: 把一个按钮的宽度从100变到500 根据WPF的经验,会把代码写成如下: <Grid> <Button x:Name="btn" Content="Button" HorizontalAlignment="Left" Margin="167,236,0,0" VerticalAlignment="Top"> <Button.Triggers> <EventT

安卓开发_时间、日期选择器的简单使用

这里介绍两个控件来简单实现日期,时间的功能 两个控件都只要在xml文件中添加一下即可 一.AnalogClock控件 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent

安卓开发_计时器(Chronometer)的简单使用

计时器控件(Chronometer)是一个可以显示从某个起始时间开始一共过去多长时间的本文. 继承自TextView,以文本的形式显示时间内容 该组件有五个方法 1.setBase(): \\用于设置计时器的起始时间 2.setFormat():\\用于设置显示时间的格式 3.start():      \\用于指定计时开始 4.stop():       \\用于指定停止计时 5.setOnChronometerTickListener(): \\用于为计时器绑定事件监听器,当计时器改变时触发

安卓开发中Spinner控件的使用

在安卓手机应用开发中,Spinner对象常用方法有以下五种. 用法 1 :以资源方式,静态展示 Spinner 选项 用法 2 :以代码方式,动态展示 Spinner 选项 用法 3 :同时显示图片和文本 用法  4 :混合方式 我这里只是简单的对用法1和用法3的一种使用进行学习,其他的方式可以参考下面这个博客,写的很好. http://www.cnblogs.com/freeliver54/archive/2012/09/03/2668363.html 前面的声明变量以及初始化,这些就不再赘述

安卓锁屏音乐控件开发

首先我个人先吐槽一下,这是一个吃力不讨好的活.为什么?因为现在安卓手机的各种定制rom五花八门,各种各样,miui.乐蛙.emui.努比亚...我们今天要做的事情就是要在各种系统的锁屏界面,出现一个音乐控件,用来做一些简单的音乐播放的控制. 做之前,习惯性的看了各大家的做法:酷我.多米等,这些家的做法的思路都一样,都是在自己的应用中监听power锁屏事件,然后加一个"假锁屏",即每次锁屏再打开的时候,首先显示的是自己音乐的锁屏,滑开以后再跳到系统的锁屏.这样做的好处是,通吃各种系统,弊

安卓开发_浅谈Android动画(四)

Property动画 概念:属性动画,即通过改变对象属性的动画. 特点:属性动画真正改变了一个UI控件,包括其事件触发焦点的位置 一.重要的动画类及属性值: 1.  ValueAnimator 基本属性动画类 方法 描述 setDuration(long duration) 设置动画持续时间的方法 setEvaluator(TypeEvaluator value) 设置插值计算的类型 setInterpolator(TimeInterpolator value) 设置时间插值器的类型 addUp

安卓开发_数据存储技术_sqlite

一.SQLite SQLite第一个Alpha版本诞生于2000年5月,它是一款轻量级数据库,它的设计目标是嵌入式的,占用资源非常的低,只需要几百K的内存就够了.SQLite已经被多种软件和产品使用 二.SQLite特性 1 2 1.轻量级 3 SQLite和C\S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器.使用SQLite一般只需要带上它的一个动态库,就可以享受它的全部功能.而且那个动态库的尺寸也相当小. 4 2.独立性 5 SQLite数据库的核心引擎本身

安卓开发_浅谈ListView(自定义适配器)

ListView作为一个实际开发中使用率非常高的视图,一般的系统自带的适配器都无法满足开发中的需求,这时候就需要开发人员来自定义适配器使得ListView能够有一个不错的显示效果 有这样一个Demo ,实现图片文字混合列表 1 package com.example.work; 2 3 import java.util.ArrayList; 4 import java.util.HashMap; 5 import java.util.List; 6 7 8 import android.R.in

android内部培训视频_第三节(3)_常用控件(ViewPager、日期时间相关、ListView)

第三节(2):常用控件之ViewPager.日期时间相关.ListView  一.ViewPager 实例:结合PagerAdapter滑动切换图片  二.日期时间相关:AnalogClock\DigitalClock\DatePicker\TimerPicker\DatePickerDialog\TimePickerDialog 三.ListView 实例1:城市选择器 实例2:自定义列表项 百度网盘视频下载地址:http://pan.baidu.com/s/1c0ip6la android内