SQLite MVVM return amp; obtain rowId in Activity(SQLite MVVM在活动中返回和获取rowID(A))
问题描述
我有一个使用MVVM构建的应用程序。我让应用程序成功地插入到SQLite数据库中。我现在正在尝试在插入完成后获取数据库中的rowId,以便在后续活动中可以对该行进行更新。
我完全理解DAO中将void更改为long的部分,但是我不知道如何在活动级别实际访问这么长的时间,并将其保存到可以使用Intent.PUTEXTRA从一个活动发送到另一个活动的变量中。下面是代码示例。
表/实体类:
存储库类:
DAO
ViewModel类:
异步任务类:
活动方式:
使用活动中的上述代码,cbtId存储为0,因此无法工作。这是一款免费的心理健康应用程序,我正在开发它,试图帮助人们,所以我越早解决这个问题,我就能越早推出这款应用程序。我将非常感谢任何帮助来调试这个问题,并使其工作。
推荐答案
我不建议您使用异步任务。但是你可以做这样的事情。
使您的InsertCbtAsyncTask接受回调作为参数,并在它具有插入的ID后调用它:
然后,在调用该类时,您可以将回调作为参数传递。例如:
launchIntentWithId()
如下所示:
此代码未经过测试,可能不完整,但它应该会让您有一个完整的概念。
这篇关于SQLite MVVM在活动中返回和获取rowID(&A)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!