3

我在 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()将新 Activity 推送到堆栈上然后按下后退按钮也是如此。如果然后我滚动列表视图一段时间,则选择会在明显随机的时间后消失。

你们中有人遇到过同样的问题吗?谢谢!

4

2 回答 2

0

是的,这是一个奇怪的问题...设置列表视图的一个属性来解决这个问题。

android:choiceMode="singleChoice"

希望这会对你有所帮助..:-)

于 2012-06-21T09:18:53.583 回答
0

不完全确定,但我将清单中的 targert_sdk 设置回 10 并且一切正常,所以我去查看文档中的兼容性内容。API 11 列表包括该行。

• 如果GridView 和ListView 没有实现Checkable,它们将对选定的项目使用View.setActivated。

我认为是相关的。我有

android:choiceMode="singleChoice"

在我的 xml 中并将其更改为

android:choiceMode="none"

这看起来让事情回到了我想要的状态。

于 2012-07-10T16:43:51.300 回答