我有一个ListView,当用户选择它们时,它们的项目会突出显示。但是,在片段的开头,此ListView存在,没有任何项目突出显示,因为用户尚未选择任何项目。
我尝试以编程方式选择ListView中的第一项(默认项),因为用户尚未选择该项。
我在StackOverflow中遇到的解决方案(那种工作)是,
listView.clearFocus();
listView.requestFocusFromTouch();
listView.setSelection(defaultPosition);
我的ListView的xml看起来像:
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:divider="@null"
android:dividerHeight="0dp"
android:choiceMode="singleChoice"/>
和ListView项目可绘制的背景可用于状态更改:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/blue_linear_layout" android:color="@color/white" android:state_selected="true"/>
<item android:drawable="@drawable/blue_linear_layout" android:color="@color/white" android:state_activated="true"/>
<item android:drawable="@drawable/gray_linear_layout" />
</selector>
问题
以上代码 突出显示ListView中的指定项目, 然而,它表现得好像用户手指向下 ListView项目(我可以告诉,因为无论什么时候选择项目都可以 单击时添加到项目的细微背景仍然存在 整个程序选择时),一触摸即可 设备的屏幕随处可见,不再选择所选项目 (高亮)。我只想将项目设置为常规项目 用手敲击。
提前致谢。
更新
找到替代解决方案。我只需通过this以编程方式点击ListView中的第一项。