GOOGLE ADS

среда, 27 апреля 2022 г.

Делегат свойства должен иметь метод getValue(InventoryApplication, KProperty<*>). Ни одна из следующих функций не подходит:

Я застрял на этой проблеме

class InventoryApplication: Application() {
val database: ItemDatabase by lazy { ItemDatabase.getDatabase(this) }
}

Класс ошибки
Изображение кода


Решение проблемы

У меня была та же проблема, я смог решить ее, перейдя в ItemRoomDatabase.ktфайл, изменив переменную INSTANCE в объекте-компаньоне, чтобы вернуть ненулевой тип ItemRoomDatabase? и getDataBase()функция для возврата типа ItemRoomDatabase, а не RoomDatabaseтипа возвращаемого значения, как запрошено в примере из лаборатории кода.

Ваш окончательный код в ItemRoomDatabase.ktфайле должен выглядеть примерно так:

@Database(entities = [Item::class], version = 1, exportSchema = false)
abstract class ItemRoomDatabase: RoomDatabase() {
abstract fun itemDao(): ItemDao
companion object {
@Volatile
private var INSTANCE: ItemRoomDatabase? = null
fun getDatabase(context: Context): ItemRoomDatabase {
return INSTANCE?: synchronized(this) {
val instance = Room.databaseBuilder(
context.applicationContext,
ItemRoomDatabase::class.java,
"item_database"
)
.fallbackToDestructiveMigration()
.build()
INSTANCE = instance
instance
}
}
}
}

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...