【发布时间】:2020-11-08 00:31:46
【问题描述】:
我有一个如下的关系数据结构
Entry.kt
@Entity(tableName = "entries")
data class Entry(
@ColumnInfo(name = "entry_id") @PrimaryKey(autoGenerate = true) val entryID: Long,
@ColumnInfo(name = "time_stamp") val timeStamp: Timestamp
)
Feeling.kt
@Entity(tableName = "feelings")
data class Feeling(
@ColumnInfo(name = "feeling_id") @PrimaryKey(autoGenerate = true) val feelingID: Int,
val feeling: String,
val color: Int
)
Subentry.kt
@Entity(tableName = "sub_entries",indices = [Index("feeling_id")])
data class SubEntry(
@ColumnInfo(name = "sub_entry_id") @PrimaryKey(autoGenerate = true) val subEntryID: Long,
@ColumnInfo(name = "entry_id") var entryID: Long,
@ColumnInfo(name = "feeling_id") val feelingID: Int,
val intensity: Int
)
以及连接三者的道场
EntryWithSubEntriesAndFeelings.kt
data class EntryWithSubEntriesAndFeelings(
@Embedded val entry: Entry,
@Relation(
parentColumn = "entry_id",
entityColumn = "entry_id"
)
val subEntries: List<SubEntry>,
@Relation(
parentColumn = "entry_id",
entityColumn = "feeling_id",
associateBy = Junction(SubEntry::class)
)
val feelings: List<Feeling>
)
现在有了预填充的感觉数据库,一切正常。但我目前正在添加插入自定义感觉的功能。这些和相应的子条目最终正确地出现在子条目数据库中(我从虚拟设备复制了数据库文件并手动检查了它们)。但是由于某种原因,新的感觉并没有传递给观察者和适配器,因此它没有与其他子条目一起显示。
感谢任何提示! :)
【问题讨论】:
标签: android android-room observers