android ImageView 设置选择器不起作用

android ImageView set selector does not worked

<item android:drawable="@drawable/chiduole_big" android:state_pressed="true"/>
<item android:drawable="@drawable/chiduole"/>

这是@drawable/image_selector

xml代码

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/image_selector"
            />

尝试将 android:clickable="true" 放入 ImageView

你的代码很好。您只需在 ImageView 中添加 android:clickable="trueandroid:focusable="true" 或将其与您的代码结合使用,例如 LinearLayout.setClickable(true);.

也许您的 image_selector 应该如下所示:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item 
        android:drawable="@drawable/chiduole_big"
        android:state_focused="true" />
    <item 
        android:drawable="@drawable/chiduole_big"
        android:state_pressed="true" />
    <item android:drawable="@drawable/@drawable/chiduole" />
</selector>

编辑

我看到你做错了什么。您已声明 android:onClick="true"onClick 里面的是一个方法而不是布尔值。所以,你可以这样做:

<ImageView android:onClick="MyMethod" 
    android:focusable="true"
    android:clickable="true"
    android:id="@+id/iv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/image_selector" />

然后,在 Java 中,您应该使用以下内容:

ImageView iv = (ImageView) findViewById(R.id.iv1);

iv.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        MyMethod(v);
    }
});

public void MyMethod(View v) {
    // Your Code
}