You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android单选按钮切换时原选中项未取消的问题解决

解决单选按钮组多选中问题

你的Java代码逻辑没有问题,出现同一组多个单选按钮被选中的情况,核心问题出在XML布局文件中RadioGroup的使用上——RadioGroup的核心功能就是自动管理组内RadioButton的单选状态,确保同一时间只有一个选项被选中,如果布局里没把同一题的两个选项正确放到对应的RadioGroup下,就会出现这种异常。

正确的布局写法示例

确保每道题的两个RadioButton都被包裹在对应的RadioGroup内,示例如下:

<!-- 第一题的RadioGroup -->
<RadioGroup
    android:id="@+id/rg1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <RadioButton
        android:id="@+id/q1a1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项1"/>

    <RadioButton
        android:id="@+id/q1a2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项2"/>
</RadioGroup>

<!-- 第二题的RadioGroup -->
<RadioGroup
    android:id="@+id/rg2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <RadioButton
        android:id="@+id/q2a1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项1"/>

    <RadioButton
        android:id="@+id/q2a2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项2"/>
</RadioGroup>

<!-- 第三题的RadioGroup -->
<RadioGroup
    android:id="@+id/rg3"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <RadioButton
        android:id="@+id/q3a1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项1"/>

    <RadioButton
        android:id="@+id/q3a2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="选项2"/>
</RadioGroup>

<!-- 提交按钮和ImageView -->
<Button
    android:id="@+id/submit"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="提交"/>

<ImageView
    android:id="@+id/img_id"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

验证要点

  • 检查你当前的布局,确认每道题的两个RadioButton没有脱离对应的RadioGroup,也没有被其他布局(比如LinearLayout)隔开。
  • 你的Java代码无需修改,只要布局正确,RadioGroup会自动处理单选逻辑,切换选项时原选中项会自动取消选中状态。

内容的提问来源于stack exchange,提问作者natitati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 08:15:30