3

I've got an ImageView which I'm setting to setImageResource(R.drawable.someStateListDrawable). Everything works fine, when it's clicked, it shows the pressed state. However, I've made it so that it onClick, the ImageView is set to "setPressed(true)" so that it will remain in the pressed state. But for some reason, its not... Any ideas?

LuxuryMode
  • 33,401
  • 34
  • 117
  • 188

2 Answers2

7

I just had this same problem with a Button. When onClick I set it to the pressed state ( btn.setPressed(true) ) but after that the button wasn't pressed.

In case this helps somebody, I finally worked with the selected state. My drawable xml looks like

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@drawable/menu_button_pressed"/>
</selector>

and at onClick I now use btn.setSelected( true ).

I don't know what was the problem with setPressed, but this worked for me.

Xavi Gil
  • 11,460
  • 4
  • 56
  • 71
0

Have you checked out this question? He basically says use a selector, and in the xml do something like this:

<item android:state_pressed="true"   
    android:drawable="@color/gray" />

Of course you would need to modify it to fit your needs.

Community
  • 1
  • 1
Jack
  • 9,156
  • 4
  • 50
  • 75
  • Of course, I already defined a pressed state in my Selector. That's why it switches to the pressed state when clicked. I'd just like it to say pressed. – LuxuryMode Aug 08 '11 at 18:15