小编Mar*_*rco的帖子

使用Room,ViewModel和LiveData更改数据后重新加载RecyclerView

我一直试图解决一个问题,但没有成功。每当数据库(数据库室)中特定模型的记录发生更改时,我都想更新recyclerView。我使用ViewModel处理模型数据,记录列表存储在LiveData中。

数据库

@Database(entities = arrayOf(Additive::class), version = ElementDatabase.DB_VERSION, exportSchema = false)
    abstract class ElementDatabase() : RoomDatabase() {

        companion object {
            const val DB_NAME : String = "element_db"
            const val DB_VERSION : Int = 1

            fun get(appContext : Context) : ElementDatabase {
                return Room.databaseBuilder(appContext, ElementDatabase::class.java, DB_NAME).build()
            }
        }

        abstract fun additivesModels() : AdditiveDao

    }
Run Code Online (Sandbox Code Playgroud)

模型

@Entity
class Additive {

    @PrimaryKey @ColumnInfo(name = "id")
    var number : String = ""
    var dangerousness : Int = 0
    var description : String = "" …
Run Code Online (Sandbox Code Playgroud)

android mvvm viewmodel android-room android-livedata

5
推荐指数
0
解决办法
4855
查看次数