1

我的活动中有一个最初ListView设置为。CHOICE_MODE_SINGLE我为它提供了 textViewResourceId,R.id.simple_list_item_1因为我只显示单行文本。

当我长按某个项目时,我可以调出带有删除图标的上下文操作栏 (CAB)。删除将被选中的项目不是问题。当我需要显示实际选择了哪些项目时,我的问题就出现了。因为 textViewResourceId 是simple_list_item_1,所以这个 textView 不显示所选项目,因为它仅用于单选。有没有办法在运行时更改此 resourceId 以便ListView可以开始显示多个选择,然后在退出 CAB 时返回单选?

4

1 回答 1

1

我找到了解决问题的方法!我将 textViewResourceId 设置为simple_list_item_activated_1,这会突出显示选定的选项并在 中初始化 ListView ListView.CHOICE_MODE_SINGLE。在onItemClick中,如果选择模式为单一,我将单击的项目设置为未选中。在onItemLongClick中,我将选择模式设置为ListView.CHOICE_MODE_MULIPLE并打开了上下文操作栏 (CAB)。我从辅助方法处理 CAB 的菜单项,当我销毁操作模式时,我还将选择模式设置回ListView.CHOICE_MODE_SINGLE.

于 2013-03-21T13:36:32.050 回答