Android listSelector应用于整个视图而不是项目
我有一个Android listSelector应用于整个视图而不是项目,android,listview,Android,Listview,我有一个列表视图的代码: <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@+id/searchButton" android:divider="@co
列表视图的代码
:
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/searchButton"
android:divider="@color/DarkGoldenrod"
android:dividerHeight="0.1dp"
android:background="@drawable/list_selector"
android:choiceMode="singleChoice" />
此选择器将应用于整个listview,如何将其应用于单个列表项
谢谢。使用列表选择器而不是背景
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/searchButton"
android:divider="@color/DarkGoldenrod"
android:dividerHeight="0.1dp"
android:listSelector="@drawable/list_selector"
android:choiceMode="singleChoice" />
我认为您应该在单击元素时检查它的类型。并在适配器中更改此项的背景。列表选择器将应用于整个listview
为此,如果您正在为listview行膨胀视图,则将该样式应用于该总视图布局。否则,在onListitemClick方法中,它将为我们提供一个视图,通过view.setBackgroundResource(resid)
一个listview选择器将应用于整个视图,因为它获得了焦点。。为了将其仅应用于视图的一部分,在这种情况下,在用于充气listview的布局内的视图上应用drawable
即:
假设您有一个相对布局,内部有一个textview,然后将drawable设置为textview,并为textview设置“setFocusable”true和setfocusableon touch true
试试这个
<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/searchButton"
android:divider="@color/DarkGoldenrod"
android:dividerHeight="0.1dp"
android:listSelector="@drawable/list_selector"
android:choiceMode="singleChoice" />