我一直在做一个项目,其中包括一个列表视图。单击列表视图中的项时,它将链接到其他活动。但是当我点击它的时候,没有立即的反应。例如,在我的一个活动中,我有一个按钮,我使用的是setOnTouchListener,所以当按下按钮时,它有一个颜色过滤器,一个被释放了,过滤器消失了,下一个活动打开了。我希望与列表视图项具有类似的效果。
我尝试过在onTouchListener上使用listView来完成同样的任务,但是它不起作用。我使用setSelected(bool)来使用xml文件中的android:state_selected属性更改列表视图的背景。(看看我是怎么做的,Android ListView selected item stay highlighted)。
但是它不起作用,因为onTouchListener中的视图与我需要的视图(特定的列表视图项)不一样。那么,是否有一种方法可以在列表视图中高亮显示按下的项目?
发布于 2014-07-12 05:32:31
你得为此做个选择器。喜欢,
list_item_selector.xml
------------------------
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="false"
android:state_pressed="false"
color android:color="#FF0000"/>
<item android:state_pressed="true">
<color android:color="#AA736F6E" />
</item>
<item android:state_selected="true"
android:state_pressed="false">
<color android:color="#00000000"/>您必须在listview中设置此选择器,以及对listitem进行布局。像这样,
<ListView
android:id="@+id/mylist"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:cacheColorHint="#AA736F6E"
android:clickable="true"
android:background="@drawable/list_item_selector"
android:divider="#737CA1"
android:dividerHeight="0.5dp"
android:choiceMode="singleChoice">
</ListView>并在列表项中设置
跳,这是工作
https://stackoverflow.com/questions/24709771
复制相似问题