Android - Listen to a disabled button

Justin picture Justin · Jan 26, 2012 · Viewed 11.7k times · Source

How can I respond to an event based on clicking a disabled Button. I have a requirement that I have to present Dialog, when a disabled Button is clicked but the listener I have assigned does not fire even when I setClickable(false)

Am an android noob, sorry.

Answer

Ricard picture Ricard · Nov 26, 2018

You can for example use #setActivated() method instead. Disabling a view will ignore all events. https://developer.android.com/reference/android/view/View.html#setActivated(boolean). Then you can customize text and background styles with android:state_activate attribute if you need:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_activated="false"
      android:color="@color/a_color" />
    <item android:state_activated="true"
      android:color="@color/another_color" />
</selector>