1

当用户在ListView. 基本上,我正在检查所选项目是否在 DB 中有一个字段设置为 true。如果是这样,我会添加额外的菜单项。

我试图在数据库中查询所选项目onItemCheckedStateChanged()并使菜单无效。如果需要,这将调用onPrepareActionMode()我可以显示额外选项的地方。

这不起作用,因为在 DB 列设置为 true 的情况下已选择的选项不会被记住,当特殊 DB 列设置为 false 的项目被选中onItemCheckedStateChanged()并且onPrepareActionMode()被调用时删除了额外的菜单项。

我怎样才能更好地解决这个问题?本质上,我需要一种方法来记住所有ListView在 DB 中将额外字段设置为 true 的选定项目,以便我可以显示额外的菜单项 - 反之亦然,当所有选定ListView项目都没有该 DB 字段时删除该项目。

4

1 回答 1

1

您必须决定如何处理同时选择两种项目的情况(例如,一个true在 db 中,一个在 db 中false)。如果您决定允许它,请在您的活动中的某处跟踪您的按钮状态。我会在您的活动中添加一个私有整数成员,并true在选择数据库中的项目时增加此数字,并在取消选择此类项目时减少它。如果它是零onPrepareActionMode- 不要显示你的按钮。

于 2012-04-01T22:04:20.337 回答