2013-05-29 76 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