当前位置: 首页 > 工具软件 > RadioButton > 使用案例 >

RadioButton控件的使用方式

常彭薄
2023-12-01

RadioButton控件的使用方式

RadioButton表示单选按钮,它是Button的子类。每一个单选按钮都有“选中”和“未选中”两种状态,这两种状态是通过android:checked属性指定的。当可选值为ture,表示选中状态,否则,表示未选中状态。
在Android程序中RadioButton通常是和RadioGroup配合使用,实现RadioButton的单选功能。RadioGroup是单选组合框,可以容纳多个RadioButton,但是在RadioGroup中不会出现多个RadioGroup同时选中的情况。

RadioGruop设置xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <RadioGroup
        android:id="@+id/rdg"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <RadioButton
        android:id="@+id/rbtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="25dp"
        android:text="男"/>
        <RadioButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="25dp"
        android:text="女"/>
    </RadioGroup>
    <TextView
        android:id="@+id/tv"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="25dp"/>
</LinearLayout>

上诉代码中,第6~22行代码定义了RadioGroup布局,第10行代码通过设置android:onrientation属性的值为“vertical”,实现RadioGroup布局中的控件竖直排列。
第11~22行代码定义了2个RadioButton控件,这两个没有设置android:check属性的值,默认情况下该属性的值为false,因此界面上两个单选按钮为未选中状态

RadioGruop设置监听事件

代码如下(示例):

	package com.example.myapplication;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.RadioGroup;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private RadioGroup radioGroup;
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        radioGroup = (RadioGroup) findViewById(R.id.rdg);
        textView = (TextView) findViewById(R.id.tv);
        //利用setOnCheckedChangeListener()为RadioGroup设置监听事件
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener(){
            @Override
                    public void onCheckedChanged(RadioGroup group,int checkedId){
                if(checkedId == R.id.rbtn){
                    textView.setText("您的性别是:男");
                }
                else{
                    textView.setText("您的性别是:女");
                }
            }
        });
    }
}

上述代码,第16~27行代码通过setOnCheckedChangeListener()方法为RadioGroup设置监听布局内空间状态是否有改变的时间,通过事件返回的onCheckedChanged()方法获取被点击的控件ID,在TextView中显示相应的信息。

 类似资料: