android - RadioGroup 中的自定义 RadioButton 没有独占选择

标签 android radio-button android-xml

我正在尝试实现自定义 RadioButton,并且样式按我预期的方式工作,但是,选择突出显示不是排他性的。也就是说,我可以同时突出显示同一组中的两个按钮。

编辑 这是我选择第二个按钮之前的状态:

enter image description here

这是我遇到的问题的可视化 - 请注意,我只想选择一个:

enter image description here

下面是我的RadioButton 背景选择器的代码:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item 
        android:state_checked="true" 
        android:state_pressed="false"
        android:drawable="@drawable/toggle_button_selected"/>

    <item 
        android:state_checked="false" 
        android:state_pressed="false"
        android:drawable="@drawable/toggle_button_unselected"/>

    <item 
        android:state_checked="true" 
        android:state_pressed="true"
        android:drawable="@drawable/toggle_button_selected"/>

    <item 
        android:state_checked="false" 
        android:state_pressed="true"
        android:drawable="@drawable/toggle_button_unselected"/>
</selector>

下面是我在群里的实现:

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

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/toggle_button_selector"
            android:button="@android:color/transparent"
            android:checked="true"
            android:padding="10dp"
            android:text="Test" />

        <RadioButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@drawable/toggle_button_selector"
            android:button="@android:color/transparent"
            android:padding="10dp"
            android:text="Test1" />
    </RadioGroup>

有什么想法吗?

编辑 绘图:

toggle_button_unselected.xml

<?xml version="1.0" encoding="utf-8" ?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners
        android:radius="5dp" />
    <solid
        android:color="@color/dark_purple" />
    <stroke
        android:width="1dp"
        android:color="@color/dark_purple" />
</shape>

toggle_button_selected.xml

<?xml version="1.0" encoding="utf-8" ?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >
    <corners
        android:radius="5dp" />
    <solid
        android:color="@color/purple" />
    <stroke
        android:width="1dp"
        android:color="@color/dark_purple" />
</shape>

最佳答案

我唯一能想到的是 RadioButtons 应该有不同的 id。

关于android - RadioGroup 中的自定义 RadioButton 没有独占选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22149628/

相关文章:

带有 ArrayAdapter 的 Android AsyncTask 给出错误 "Cannot resolve constructor"

java - 如何比较两个数组字符串的每个位置

css - 设置除复选框和 radio 之外的所有输入的样式

html - 可折叠列表,不响应点击

javascript - jQuery - 选择单选按钮并填充文本字段时显示 div

java - 膨胀布局的 child 不显示

java - 安卓 : Using DatePicker from Fragment

android - 第一次使用 jquery mobile 加载页面后事件不起作用

具有不同背景颜色的 Android 按钮

Android - 旋转切掉形状的角