小编Uru*_* Ra的帖子

如何从 Room 获取 LiveData?

我正在尝试从 Room 获取 LiveData。因此,如果数据库中的任何内容发生更改,我的 RecycleView 可以进行实时更新

我试过不使用 LiveData 并且可以,但是当我添加 LiveData 时总是显示此错误。

error: Not sure how to convert a Cursor to this method's return type     (androidx.lifecycle.LiveData<java.util.List<com.example.models.Club>>).
public abstract java.lang.Object     getAll(@org.jetbrains.annotations.NotNull()
Run Code Online (Sandbox Code Playgroud)

我在这个网站上用谷歌搜索并查看了解决方案,但每个关于这个问题的人都使用了 rxjava、rxandroid、rxkotlin 或 ArrayList。对于他们来说,解决方案是用 List 替换 ArrayList,让 RX 尝试协程。好吧,我正在使用 Coroutine 和 List,但仍然没有进展。

这是我的ClubDao

ClubDao
@Query("SELECT * FROM club")
suspend fun getAll(): LiveData<List<Club>>
Run Code Online (Sandbox Code Playgroud)

在俱乐部我有这个属性

Club
@Entity
data class Club(@PrimaryKey var id: Int,
            @ColumnInfo(name = "logo_url") var logoUrl: String,
            @ColumnInfo(name = "name") var name: String,
            @ColumnInfo(name = "town") var town: String,
            @ColumnInfo(name = …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room android-livedata android-viewmodel

2
推荐指数
1
解决办法
4414
查看次数