【问题标题】:Android - Check radio button checked [duplicate]Android - 检查单选按钮选中[重复]
【发布时间】:2025-11-27 01:10:01
【问题描述】:

我想知道如何检查已选中的按钮单选,以及如何告诉应用程序只有一个可检查的单选按钮?

PS:我在 XML 中创建了两个 RadioButtons:

<RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/Boutton_Bluetooth"
    android:id="@+id/BouttonRADIO_Bluetooth"
    android:layout_gravity="center_horizontal"
    android:textSize="20dp"
    android:textStyle="bold" />

<RadioButton
    android:layout_width="119dp"
    android:layout_height="wrap_content"
    android:text="@string/Boutton_RS232"
    android:id="@+id/BouttonRADIO_RS232"
    android:layout_gravity="center_horizontal"
    android:textSize="20dp"
    android:textStyle="bold"/>

提前致谢:)

【问题讨论】:

  • 可能重复。但是我已经创建了两个单选按钮。我将尝试使用 radioGroup。
  • 是的,RadioGroup 做到了,因此一次只检查组中的一个 RadioButton
  • 我会试着检查你的想法。解决了。你可以关闭这个请。 :)
  • 我无法关闭它。您应该可以选择在某处接受副本,说它解决了您的问题。

标签: java android radio-button


【解决方案1】:

“我想知道如何检查按钮单选”

yourRadioButton.isChecked()

“如何告诉应用程序只有一个单选按钮可检查?”

-将您的单选按钮放入 radioGroup

【讨论】:

  • 感谢您的回答。请问您如何放置“ Radiobutton.isChecked() ”?我的两个单选按钮将显示在警报对话框中。
  • 例如link 但如果您需要的不仅仅是一些单选按钮,您可以创建自己的对话框类并根据需要进行设置...
【解决方案2】:

只需定义你的xml,

 <RadioGroup android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal">

                <RadioButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/Boutton_Bluetooth"
    android:id="@+id/BouttonRADIO_Bluetooth"
    android:layout_gravity="center_horizontal"
    android:textSize="20dp"
    android:textStyle="bold" />

<RadioButton
    android:layout_width="119dp"
    android:layout_height="wrap_content"
    android:text="@string/Boutton_RS232"
    android:id="@+id/BouttonRADIO_RS232"
    android:layout_gravity="center_horizontal"
    android:textSize="20dp"
    android:textStyle="bold"/>

            </RadioGroup>

希望对你有帮助。

【讨论】:

  • 感谢您的帮助。这是工作! :)
【解决方案3】:

要定义按钮的单击事件处理程序,请将 android:onClick 属性添加到 XML 布局中的 &lt;RadioButton&gt; 元素。此属性的值必须是您要调用以响应单击事件的方法的名称。然后托管布局的 Activity 必须实现相应的方法。

<?xml version="1.0" encoding="utf-8"?>
<RadioGroup xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Boutton_Bluetooth"
android:id="@+id/BouttonRADIO_Bluetooth"
android:layout_gravity="center_horizontal"
android:textSize="20dp"
android:textStyle="bold" />

<RadioButton
android:layout_width="119dp"
android:layout_height="wrap_content"
android:text="@string/Boutton_RS232"
android:id="@+id/BouttonRADIO_RS232"
android:layout_gravity="center_horizontal"
android:textSize="20dp"
android:textStyle="bold"/>

</RadioGroup>

在承载此布局的 Activity 中,以下方法处理两个单选按钮的点击事件:

public void onRadioButtonClicked(View view) {
// Is the button now checked?
boolean checked = ((RadioButton) view).isChecked();

// Check which radio button was clicked
switch(view.getId()) {
    case R.id.BouttonRADIO_Bluetooth:
        if (checked)
            // BouttonRADIO_Bluetooth 
        break;
    case R.id.BouttonRADIO_RS232:
        if (checked)
            // BouttonRADIO_RS232
        break;
    }
}

Reference

【讨论】: