一种更好的实现撤销删除的方法

A better way to implement undo deletion

我目前正在开发一个 Android 应用程序,我有一个 activity 及其内容的列表和数据库。提供了撤消功能:当用户删除条目时,会出现一个弹出窗口 Item deleted. Undo?。这就是它的实施方式:用户仅在屏幕上删除它,不会对数据库进行任何更改。只有当弹出窗口消失时(或 activity 将被关闭),该条目才会从数据库中删除。

问题是:立即从数据库中删除已删除的条目,然后在用户想要撤消删除时将其添加回来会更好吗?或者,也许,仅当用户离开 activity 时才对数据库进行所有更改会更好?如果是,为什么?

提前致谢。

最好的办法通常是询问用户是否真的要删除,确认后删除。

撤消方法可以简单地通过将数据库中的行标记为已删除并在弹出窗口关闭或应用程序(重新)启动时真正删除它来实现。然后,您也可以简单地忽略所有查询中所有标记为删除的行。