Ellen Spertus
04/06/2020, 8:46 PMUnresolved reference: Callback
error in the expression ContactDatabase.Callback
.
Why? As shown, ContactDatabase
extends RoomDatabase
, and RoomDatabase.Callback
is defined.
@Database(entities = arrayOf(ContactEntity::class), version = 1)
abstract class ContactDatabase : RoomDatabase() {
abstract fun contactDao(): ContactDao
lateinit var callback: RoomDatabase.Callback
private class ContactDatabaseCallback(
private val scope: CoroutineScope
) : ContactDatabase.Callback() { <-- Error on this line
tseisel
04/06/2020, 9:02 PMabstract class ContactDatabase : RoomDatabase() {
[...]
private class ContactDatabaseCallback(
private val scope: CoroutineScope
) : RoomDatabase.Callback() { <-- Difference is here
}
}
Ellen Spertus
04/06/2020, 9:02 PM@Database(entities = arrayOf(ContactEntity::class), version = 1)
abstract class ContactDatabase : RoomDatabase() {
abstract fun contactDao(): ContactDao
lateinit var callback: RoomDatabase.Callback
private class ContactDatabaseCallback(
private val scope: CoroutineScope
) : Callback() { <-- No error here
How come?tseisel
04/06/2020, 9:05 PMContactDatabase
extends from RoomDatabase
, it can access its inner class RoomDatabase.Callback
without specifying the full qualifier. That's a rather odd rule, probably inherited from Java.Ellen Spertus
04/06/2020, 9:06 PMContactDatabase.Callback
exist, when ContactDatabase
extends RoomDatabase
?tseisel
04/06/2020, 9:07 PMEllen Spertus
04/06/2020, 9:07 PM