Android冰淇淋三明治:为什么ListView项目默认保持选中状态?

Android冰淇淋三明治:为什么ListView项目默认保持选中状态?,android,android-listview,android-activity,android-4.0-ice-cream-sandwich,Android,Android Listview,Android Activity,Android 4.0 Ice Cream Sandwich,我在安卓ICS上遇到了一个奇怪的、显然没有记录的问题。这是我的listview的xml代码: <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@android:color/transparent" an

我在安卓ICS上遇到了一个奇怪的、显然没有记录的问题。这是我的listview的xml代码:

<ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="@android:color/transparent"
        android:cacheColorHint="@android:color/transparent" 
        android:focusable="false"
        android:listSelector="@drawable/cell_selected_small"
        android:descendantFocusability="afterDescendants" />

在Android 2.2(在多台设备上测试)上,触摸结束后,listview选项立即被清除。我认为这是正确的行为

在Android 4.0及更高版本上,listview选择保持选中状态,即使
onListItemClick()
在堆栈上推送一个新活动,然后按下后退按钮。如果我滚动listview一段时间,选择会在明显随机的时间后消失


你们有没有遇到过同样的问题?谢谢

是的,这是一个奇怪的问题……设置listview的一个属性来解决这个问题

android:choiceMode="singleChoice"

希望这能帮助您解决问题。:-)

不完全确定,但我将清单中的Target_sdk设置为10,一切正常,因此我去查看文档中的内容。API 11列表包括该行

•GridView和ListView将使用View.setActivated来处理未实现可检查的选定项目

我认为这是最合适的。我有

android:choiceMode="singleChoice"
在我的xml中,并将其更改为

android:choiceMode="none"

这看起来是为了让我得到我想要的东西。

我得到了同样的东西。无法使其停止,使项目无法在黑色上看到黑色。