我有一个listView,并且我没有弄清楚如何仅在我点击它时选择的行。使用此代码,选中的行在单击后仍保持带下划线,当我选择新行时消失。
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/list_background"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="1dp"
android:listSelector="@drawable/list_selector" />
列表选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/list_item_bg_normal" android:state_activated="false"/>
<item android:drawable="@drawable/list_item_bg_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/list_item_bg_pressed" android:state_activated="true"/>
</selector>
是否可以实现此功能?
更新
我想实现此功能。
之后
使用此代码,所选行不会执行屏幕截图中描述的操作,但这一行仍有下划线。
提前感谢。
答案 0 :(得分:2)
我认为这会对你有所帮助。 在list_selector xml文件中,请添加此代码
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_enabled="false" android:state_focused="true"
android:drawable="@android:color/black" />
<item android:state_pressed="true"
android:drawable="@android:color/holo_red_dark" />
<item android:state_focused="true"
android:drawable="@android:color/holo_red_dark" />
</selector>
这段代码对我来说很好..如果遇到任何问题然后发表评论..谢谢你