原因は、XMLファイル内の一番上にAttributeが付いていないitemを書いていたため。 selectorは上から順に評価されるので、常に一番上の画像を表示してしまっていた。 以下はだめな例。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/common_sell_radio_button"/>
<item android:drawable="@drawable/common_sell_radio_button_disabled_selected" android:state_checked="true" android:state_enabled="false"/>
<item android:drawable="@drawable/common_sell_radio_button_selected" android:state_checked="true"/>
<item android:drawable="@drawable/common_sell_radio_button_disabled" android:state_enabled="false"/>
</selector>
以下のように修正すると直った。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/common_sell_radio_button_disabled_selected" android:state_checked="true" android:state_enabled="false"/>
<item android:drawable="@drawable/common_sell_radio_button_selected" android:state_checked="true"/>
<item android:drawable="@drawable/common_sell_radio_button_disabled" android:state_enabled="false"/>
<item android:drawable="@drawable/common_sell_radio_button"/>
</selector>
参考: