Android 单选按钮组实现教程

1. 整体流程

下面是实现 Android 单选按钮组的整体流程:

步骤 描述
1 创建布局文件
2 添加单选按钮组件
3 设置单选按钮组的选项
4 监听选项变化事件
5 处理选项变化事件

接下来,我将逐步指导你完成每一步的操作。

2. 创建布局文件

首先,我们需要创建一个布局文件来放置单选按钮组件。在 res/layout 目录下创建一个名为 activity_main.xml 的文件,并添加以下代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="
    xmlns:tools="
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <!-- Add your radio buttons here -->

</LinearLayout>

这里我们使用了一个垂直方向的线性布局,并留出了空间放置单选按钮。

3. 添加单选按钮组件

接下来,在布局文件中添加单选按钮组件。修改 activity_main.xml 文件,添加以下代码:

<RadioGroup
    android:id="@+id/radio_group"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <!-- Add your radio buttons here -->

</RadioGroup>

这里我们使用了 RadioGroup 组件来创建单选按钮组。你可以在 RadioGroup 组件内部添加多个单选按钮。

4. 设置单选按钮组的选项

在代码中创建一个 MainActivity 类,并在 onCreate 方法中设置单选按钮组的选项。修改 MainActivity.java 文件,添加以下代码:

import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private RadioGroup radioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        radioGroup = findViewById(R.id.radio_group);

        // Add your radio buttons here
        RadioButton radioButton1 = new RadioButton(this);
        radioButton1.setText("Option 1");
        radioGroup.addView(radioButton1);

        RadioButton radioButton2 = new RadioButton(this);
        radioButton2.setText("Option 2");
        radioGroup.addView(radioButton2);

        RadioButton radioButton3 = new RadioButton(this);
        radioButton3.setText("Option 3");
        radioGroup.addView(radioButton3);

        RadioButton radioButton4 = new RadioButton(this);
        radioButton4.setText("Option 4");
        radioGroup.addView(radioButton4);
    }
}

在这段代码中,我们首先获取到了 RadioGroup 组件的实例,并通过 findViewById 方法来查找布局文件中的 RadioGroup 组件。然后,我们利用 RadioButton 类创建了四个单选按钮,并通过 radioGroup.addView 方法将它们添加到了单选按钮组中。

5. 监听选项变化事件

接下来,我们需要监听单选按钮组中选项的变化。修改 MainActivity.java 文件,添加以下代码:

import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;

import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private RadioGroup radioGroup;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        radioGroup = findViewById(R.id.radio_group);

        // Add your radio buttons here
        RadioButton radioButton1 = new RadioButton(this);
        radioButton1.setText("Option 1");
        radioGroup.addView(radioButton1);

        RadioButton radioButton2 = new RadioButton(this);
        radioButton2.setText("Option 2");
        radioGroup.addView(radioButton2);

        RadioButton radioButton3 = new RadioButton(this);
        radioButton3.setText("Option 3");
        radioGroup.addView(radioButton3);

        RadioButton radioButton4 = new RadioButton(this);
        radioButton4.setText("Option 4");
        radioGroup.addView(radioButton4);

        // Listen for selection change events
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                RadioButton selectedRadioButton = findViewById(checkedId);
                Toast.makeText(MainActivity.this, "Selected: " + selectedRadioButton.getText(), Toast.LENGTH_SHORT).show();
            }
        });
    }
}

在这段代码中,我们使用了 setOnCheckedChangeListener 方法来设置监听器。当选项发生变化