取消selectListView中的选定项目

我在我的布局中使用一个ListView像这样:

  <ListView android:id="@+id/list" android:layout_width="fill_parent" android:layout_gravity="center" android:layout_height="match_parent" android:layout_weight="0.7" android:layout_marginTop="5dp" android:orientation="vertical" android:layout_centerInParent="true" android:divider="@color/dark_grey" android:drawSelectorOnTop="false" android:focusable="true" android:layout_marginBottom="55dp" android:cacheColorHint="#00000000" android:listSelector="@color/light_grey" android:dividerHeight="1px" /> 

select器很好,但我怎么能禁用select器?

我试过了:

 listView.clearChoices(); listView.setSelected(); listView.setSelector(); ... 

还有一些东西,但没有任何作品。 任何想法,我可以把我的select项目恢复正常? 不能那么复杂吧?

编辑:我需要一个编程解决scheme!

谢谢!

Solutions Collecting From Web of "取消selectListView中的选定项目"

clearChoices()之后clearChoices() ListView上的requestLayout() clearChoices() 。 它会工作。

正如@Muerte上面提到的,做以下工作对我来说:

 myListView.clearChoices(); myAdapter.notifyDataSetChanged(); 

这似乎是比重新绘制整个布局更好。

对我来说,它适用于:

 listView.setAdapter(myAdapter); 

在你声明ListView的XML中使用:

 <ListView android:id="@+id/my_list" android:listSelector="#00000000" /> 

点击后可以设置select器:

 <?xml version="1.0" encoding="utf-8"?> 

 <item android:drawable="@drawable/transparent_white" android:state_focused="true" android:state_pressed="true"/> <item android:drawable="@drawable/transparent_white" android:state_focused="false" android:state_pressed="true"/> <item android:drawable="@drawable/transparent_white" android:state_focused="true"/> <item android:drawable="@drawable/transparent_white" android:state_focused="false"/> 

而@ drawable / transparent_white是#00ffffff

尝试这个

像这样创build自己的select器XML文件

YourSelector.xml

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false" android:state_focused="true" android:drawable="@drawable/item_disabled" /> <item android:state_pressed="true" android:drawable="@drawable/item_pressed" /> <item android:state_focused="true" android:drawable="@drawable/item_focused" /> </selector> 

看看这个链接

这里

没有什么解决scheme真的为我工作。 我的列表视图是列出search到的项目,并有一个规定重做search。 在获得结果我添加了下面的代码片段,它的工作:)

myAdapter.setSelectedIndex(-1);