Question

I am trying to implement a custom RadioButton, and the styling is working as I would expecting, however, the selection highlighting is not exclusive. Meaning, I can have two buttons within the same group highlighted at the same time.

Edit This the state before I select the second button:

enter image description here

This a visual of the issue I'm getting - note I'd only like one selected:

enter image description here

Below is the code for the background selector of my 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>

Below is my implementation in the group:

    <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>

Any thoughts?

Edit Drawables:

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>
Was it helpful?

Solution

The only thing I can think of is that the RadioButtons should have different ids.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top