所以,我正在处理一个项目,我想从 RecyclerView 中删除一个项目,但我希望用户能够通过在 Snackbar 中按“撤消”来恢复该项目。RecyclerView 项目从 SQLite 数据库中提取数据,当用户删除一个项目时,它也会从 RecyclerView 和数据库中我的表的相应行中删除它。我的问题是我似乎无法弄清楚如何恢复已删除的数据(SQLite 数据)。
我试图在我的 DataBaseHelper 类中创建一个方法,该方法将位置作为参数,以便我的光标知道要访问哪一行,然后我使用光标将该行的所有值分配给一个 AlarmData(我的 setter 和 getter 类)对象和将其返回给我的适配器类,以便我可以尝试在 Snackbar 的 UNDO 操作方法中恢复表的行。
这是代码:
数据库助手
// Is public AlarmData even legal? that's my setter and getter class
// and the object type I'm trying to return
public AlarmData recoverAlarms(int position) {
AlarmData recoverData = new AlarmData();
String ALARM_RESTORE_QUERY = "SELECT * FROM " + TABLE_ALARMS + " WHERE " + COLUMN_INDEX +
" = " + position + ";";
SQLiteDatabase …Run Code Online (Sandbox Code Playgroud)