Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android ListView项目背景问题_Android_Listview - Fatal编程技术网

Android ListView项目背景问题

Android ListView项目背景问题,android,listview,Android,Listview,我对ListView项有问题。我正在使用listSelector。 我需要在按下时更改项目背景。但当我按下它时,所有项目都会改变背景。它发生在Android 2.3.6上。在4.0.3或更高版本时,它运行良好 列表选择器 <selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/defaultSelector"> <item android:drawable="@c

我对ListView项有问题。我正在使用listSelector。 我需要在按下时更改项目背景。但当我按下它时,所有项目都会改变背景。它发生在Android 2.3.6上。在4.0.3或更高版本时,它运行良好

列表选择器

<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
android:cacheColorHint=“@null”
这可能有助于修复它。


 <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根布局中定义背景色(选择器)或图像(选择器)

希望这对你有帮助

这对我有用

<ListView
    android:id="@+id/playList"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:listSelector="@android:color/holo_orange_light"
    android:cacheColorHint="#00000000"
    >

</ListView>

在事件中,单击Listener添加

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            parent.setSelection(position);
listView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
家长选举(职位);
希望这对你有帮助

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            parent.setSelection(position);