Android Studio 单选按钮RadioButton

简介: 本文目录1. 功能2. 显示3. 获取选中项4. 监听选中项变化

. 功能

从多种选择中选择一个,需要单选按钮,经典场景是选择性别男、女。


2. 显示

单选按钮需要放到单选按钮组RadioGroup中,每组中只有一个元素可以被选中。RadioGroup常用属性有:


check,设置选中按钮的资源编号

getCheckedRadioButtonId,获取选中按钮的资源编号

实例代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="4dp">
   <TextView
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="请选择性别"/>
   <RadioGroup
       android:id="@+id/radioGroupSex"
       android:layout_width="match_parent"
       android:layout_height="wrap_content">
       <RadioButton
           android:id="@+id/radioMale"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="男"
           android:checked="true"/>
       <RadioButton
           android:id="@+id/radioFemale"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text="女"/>
   </RadioGroup>
   <Button
       android:id="@+id/buttonOk"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_gravity="center"
       android:text="确认"/>
</LinearLayout>

image.png

3. 获取选中项

点击确认按钮后,获取选中项,并弹窗提示,代码如下:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //获取按钮
        Button buttonOk = findViewById(R.id.buttonOk);
        //设置按钮点击监听器
        buttonOk.setOnClickListener(new MyOnClickListener());
    }
    //定义按钮点击监听器
    class MyOnClickListener implements View.OnClickListener {
        //按钮点击
        @Override
        public void onClick(View view) {
            if (view.getId() == R.id.buttonOk) {//被点击的是确认按钮
                //获取选中项
                RadioGroup radioGroup = findViewById(R.id.radioGroupSex);
                String sex = "";
                if (radioGroup.getCheckedRadioButtonId() == R.id.radioMale) {
                    sex = "男";
                } else {
                    sex = "女";
                }
                //显示提示框
                Toast.makeText(MainActivity.this, "你选择了:" + sex, Toast.LENGTH_SHORT).show();
            }
        }
    }
}

image.png

image.png

4. 监听选中项变化

当选中项发生变化时,可以监听该变化,代码如下:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        RadioGroup radioGroup = findViewById(R.id.radioGroupSex);
        //设置监听器
        radioGroup.setOnCheckedChangeListener(new MyOnCheckedChangeListener());
    }
    class MyOnCheckedChangeListener implements RadioGroup.OnCheckedChangeListener{
        //用户点击单选按钮触发
        @Override
        public void onCheckedChanged(RadioGroup radioGroup, int i) {
            if(i==R.id.radioMale){
                Toast.makeText(MainActivity.this, "你选择了:男", Toast.LENGTH_SHORT).show();
            }else{
                Toast.makeText(MainActivity.this, "你选择了:女" , Toast.LENGTH_SHORT).show();
            }
        }
    }
}
相关文章
|
1天前
|
存储 Linux 开发工具
Linux手动升级替换Android Studio
【6月更文挑战第22天】
|
1天前
|
Android开发
Android Studio(2022.3.1)设置阿里云源-新旧版本
Android Studio(2022.3.1)设置阿里云源-新旧版本
8 1
|
5天前
|
XML Java 开发工具
Android Studio开发Android TV
【6月更文挑战第19天】
|
7天前
|
Android开发
Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法
Android studio 出现Plugin [id: ‘com.android.application‘, version: ‘8.1.0‘, apply: false] 问题解决办法
74 1
|
8天前
|
数据库 Android开发 数据安全/隐私保护
在 Android Studio 中结合使用 SQLite 数据库实现简单的注册和登录功能
在 Android Studio 中结合使用 SQLite 数据库实现简单的注册和登录功能
51 2
|
4天前
|
Android开发
如何 将Android Studio升级至最新版(4.0)
如何 将Android Studio升级至最新版(4.0)
8 0
|
4天前
|
Java 开发工具 Android开发
Android Studio 导出JavaDoc文档
Android Studio 导出JavaDoc文档
9 0
|
7天前
|
开发工具 Android开发
Android studio历史版本下载
Android studio历史版本下载
26 0
|
7天前
|
Android开发
android studio找不到aar问题解决
android studio找不到aar问题解决
10 0
|
10天前
|
XML BI 数据库
一个基于Android Studio的简易记事本应用
一个基于Android Studio的简易记事本应用
20 0