Android Listview已选择默认项
我有一个列表视图,如下所示:Android Listview已选择默认项,android,listview,Android,Listview,我有一个列表视图,如下所示: <ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_below="@id/profile_picture" android:layout_gravity="start"
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_below="@id/profile_picture"
android:layout_gravity="start"
android:layout_marginTop="30dp"
android:background="#f7f7f7"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:entries="@array/navigation_drawer"
android:listSelector="@color/navigation_selector"
android:paddingLeft="20dp"/>
我想让列表中的第一个项目被选中,我已经尝试了list.setSelection(0),也选择了setItemChecked,但它们都不起作用。看起来您需要列表项目上的状态感知背景,如以下部分答案所述:
也许你在找一个像这样的人 如果您阅读setSelection(在a的情况下)的说明,您会注意到: 设置当前选择的项目。如果处于触摸模式,项目将不会被选择,但仍将被正确定位。如果指定的选择位置小于0,则将选择位置为0的项目 但是您可以使用setSelection将项目设置为选中,只需将列表项目的背景设置为可绘制的颜色,以指示它已被选中 为什么会这样?嗯,setSelection更多的是一种可访问性功能,或者对于带有光标球的手机(就像原来的G1 android手机),如果它是通过触摸屏以外的输入选择的,它会显示它在屏幕上选择的内容。所以,如果你正常使用它,你不会看到任何东西