Android listview больше не выделяет выделение onclick

У меня есть список, который показывал желтую кнопку на элементах, когда я их касался. Все, что я сделал по-другому, это изменить фоновое изображение в этом списке xml, и теперь он больше не покажет мне желтую кнопку

Вот код

просмотр списка xml, это просто текстовое изображение с фоновым изображением:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="24sp"
    android:textColor="#000000"
    android:background="@drawable/bglistitem"
    android:gravity="center_vertical|center_horizontal">
</TextView>

место в другом макете, где он называется

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:padding="10dp"
    android:textSize="24sp"
    android:textColor="#000000"
    android:background="@drawable/bglistitem"
    android:gravity="center_vertical|center_horizontal">
</TextView>

и вот код:

lv.setOnItemClickListener(new OnItemClickListener() {
    public void onItemClick(AdapterView<?> arg0, View arg1,int arg2, long arg3) {}
});

как вы можете видеть выше, я никогда не делал ничего, что изменило бы поведение по умолчанию выделения выделения, почему это будет сейчас иначе, возможно, что-то, что вы видите, что я не вижу?

Ответ 1

Когда вы добавили новый фон в ListView, вы переопределили фон андроида по умолчанию, который, скорее всего, использовал селектор, чтобы оттенять ListItems в зависимости от их состояния.

Попробуйте использовать пользовательский селектор

Создайте XML файл mycustombackground.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/item_pressed" /> 
   <item android:state_focused="true"
      android:drawable="@drawable/item_focused" /> 
   <item android:drawable="@drawable/item_normal" /> 
 </selector>

Замените @drawables своим собственным по отношению к состоянию. Затем установите фон вашего списка в xml файл.

android:background="@drawable/mycustombackground" 

Вы можете захотеть взглянуть на XML, чтобы создать желтый цвет, или просто создать свое собственное изображение.