zoukankan      html  css  js  c++  java
  • 安卓开发_单选按钮控件(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 }

    注释很明白了,很简单的

    效果图:

    作者:听着music睡

    出处:http://www.cnblogs.com/xqxacm/

    Android交流群:38197636

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    原子操作--sync/atomic的用法
    基础的排序算法以及查找算法
    (三)MySQL终极篇
    (二)MySQL中级篇
    数据库表添加索引对性能的影响
    事务的四大特性以及事务的隔离级别
    int 和Integer
    数据库三范式
    Java反射
    获取Class实例的三种方式
  • 原文地址:https://www.cnblogs.com/xqxacm/p/4510536.html
Copyright © 2011-2022 走看看