Android 选择器背景不工作?

Android 选择器背景不工作?,android,selector,Android,Selector,使用选择器作为视图的背景,如以下代码所示: my_selector.xml: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true" android:drawable="@drawable/cell_bg_e" />

使用选择器作为视图的背景,如以下代码所示:

my_selector.xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/cell_bg_e" />
    <item android:state_checked="true" android:drawable="@drawable/cell_bg_e" />
    <item android:state_selected="true" android:drawable="@drawable/cell_bg_e" />
    <item android:drawable="@drawable/cell_bg_n_trans" />
</selector>
除了某些分辨率为800x480的设备(舔htc g12),它适用于所有设备


为什么?

您应该确保将此选择器设置为可绘制背景的视图是可单击的

您可以在以下代码中执行此操作:

public MyView(Context context, CharSequence text, Drawable drawable) {
    super(context);
    setClickable(true);
    setBackgroundResource(R.drawable.my_selector);
}
或者,在XML中:

<MyView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/my_selector"
    android:clickable="true"
    android:orientation="horizontal"/>


视图不是可单击的吗?是的,它是可单击的。单击它将导致一些操作,如启动活动
<MyView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/my_selector"
    android:clickable="true"
    android:orientation="horizontal"/>