我无法在android中突出显示带有自定义适配器的多选列表视图。激活和按下状态工作得很好。我想要的是当用户点击一个项目时它应该突出显示。
我的 new_list_selector.xml
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/list_selector_pressed" />
<item android:state_activated="true" android:drawable="@drawable/list_selector_selected" />
<item android:state_selected="true" android:drawable="@drawable/list_selector_pressed" />
</selector>
在上面的xml中,“激活”和“按下”的状态正在工作,但没有“选中”。
在我的 listview_item.xml 中,我将背景设置为选择器,如下所示
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@drawable/new_list_selector">
<!--list items goes here-->
</RelativeLayout>
我像这样定义我的列表视图
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/masterContainer">
<ListView
android:minWidth="25px"
android:minHeight="25px"
android:focusable="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/friendViewList" />
</RelativeLayout>
点击并按住列表项时,我获得了激活状态。点击列表项时,按下状态有效。我想在用户点击项目时突出显示它。有人可以帮我解决这个问题吗?感谢提前输入。
PS:我更喜欢xml解决方案而不是编码。我还尝试将state_focused
设置为true
而没有运气的选择器
答案 0 :(得分:0)
执行以下操作:
<强> listview_item.xml 强>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/new_list_selector"/>
</RelativeLayout>
这将在ImageView上设置选择器。您也可以使用两个TexTviews进行此操作。