且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

android - recyclerview如何在onswipe删除数据后如何恢复数据。

更新时间:2023-02-02 20:56:39

就这个需求来说不需要对数据频繁的读写,你的mList初始化数据是从数据表一次性读取的吧,可以建一个tempList暂存被删除的条目数据,对tempList进行删除的条目数据的管理(有删除操作时添加数据,action取消时移除前面删除时添加的对应的数据),在确定不再需要对列表进行编辑时(比如Activity退出时)再把tempList对应数据库进行数据持久化操作,tempList不为空时即遍历tempList,对应的数据库表数据条目进行删除,这时使用数据库事务操作会很快,tempList为空时不进行任何操作,整个过程,其实就最多只是进行了两次数据库操作(mList的查询读取和tempList的元素映射表项删除),节省了性能开支,至于取消的Action,要方便你从tempList查找对应的条目数据,tempList用Map创建会更合适一些(如Map<position, thingsModel>)。数据库表可以对单个条目进行删除修改操作,不需要删表再重建,那样代价太大,删除数据一般情况下毕竟是小范围的。