我在Android ICS上遇到了一个奇怪且显然未记录的问题。这是我的列表视图的 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(在多个设备上测试)上,列表视图选择在触摸结束后立即清除。我认为这是正确的行为。
在 Android 4.0 及更高版本中,即使onListItemClick()
在堆栈上推送新的活动,然后按下后退按钮,列表视图选择也会保持选中状态。如果然后我滚动列表视图一段时间,选择会在明显随机的时间后消失。
你们中有人遇到过同样的问题吗?谢谢!
是的,这是一个奇怪的问题...设置列表视图的一个属性以解决此问题。
android:choiceMode="singleChoice"
希望这会对你有所帮助..:-)
不完全确定,但我将清单中的targert_sdk设置回 10,一切正常,所以我去查看了文档中的兼容性内容。 API 11 列表暗示了该行。
• GridView 和 ListView 如果未实现"可检查",则将对所选项使用 View.setActivated 。
我认为是相关的。 我有
android:choiceMode="singleChoice"
在我的 XML 中并将其更改为
android:choiceMode="none"
这看起来让事情回到了我想要的。