2013-05-29 3 views
0

У меня проблемы с элементами ListView. Я использую listSelector для этого. Мне нужен элемент изменения фона при нажатии. Но когда я нажимаю на нее, все элементы меняют фоны. Это происходит на Android 2.3.6. В 4.0.3 и более он работает хорошо.Элемент списка элементов ListView

ListSelector

<selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/defaultSelector"> 
<item android:drawable="@color/defaultDashboardItemBackground" android:state_enabled="false" android:state_focused="true" android:state_pressed="false"/> 
<item android:drawable="@color/defaultDashboardItemHover" android:state_pressed="true"/> 
<item android:drawable="@color/defaultDashboardItemBackground" android:state_focused="true" android:state_pressed="false"/> 

Некоторый код

ListView list = (ListView) act.findViewById(R.id.menu_listview); 
list.setBackgroundColor(act.getResources().getColor(getThemeBackground(theme))); 
list.setSelector(act.getResources().getDrawable(getThemeSelector(theme))); 
list.addHeaderView(createHeader("HEADER")); 
list.setAdapter(adap); 

ответ

0

Установите этот атрибут в вашей ListView android:cacheColorHint="@null" Это может помочь исправить это.

+0

Спасибо, но это не работает :( – asmproger

0
<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:cacheColorHint="#00000000" 
    android:listSelector="#00000000" 
    android:fadingEdge="none"/> 

И не задавайте цвет фона в ListView. Определите цвет фона (селектор) или изображение (селектор) в макете корневого каталога listitem.xml.

Надеюсь, это вам поможет.

+0

Спасибо, но это не работает :( – asmproger

Смежные вопросы