我的活动中有一个ListView
,最初设置为CHOICE_MODE_SINGLE
。我提供了R.id.simple_list_item_1
的textViewResourceId,因为我只显示单行文本。
当我长按某个项目时,我可以使用删除图标显示上下文操作栏(CAB)。删除要选择的项目不是问题。当我需要显示实际选择的项目时,我的问题出现了。因为textViewResourceId是simple_list_item_1
,所以此textView不会显示所选项目,因为它仅用于单选。有没有办法在运行时更改此resourceId,以便ListView
可以开始显示多个选择,然后在退出CAB时返回单选?
答案 0 :(得分:1)
我找到了解决问题的方法!我将textViewResourceId设置为simple_list_item_activated_1
,突出显示所选的选项并在ListView.CHOICE_MODE_SINGLE
中初始化ListView。在onItemClick
中,如果选择模式为单一,我将单击的项目设置为取消选中。在onItemLongClick
中,我将选择模式设置为ListView.CHOICE_MODE_MULIPLE
并打开上下文操作栏(CAB)。我从helper方法处理CAB的菜单项,当我销毁动作模式时,我还将选择模式设置回ListView.CHOICE_MODE_SINGLE
。