gpt4 book ai didi

android - Kotlin Android 共享首选项 - lateinit 属性首选项尚未初始化

转载 作者:行者123 更新时间:2023-11-29 23:46:33 25 4
gpt4 key购买 nike

我试着关注 this tutorial ,但是当我尝试为我的 Sh.Preference (prefs.token = "sometoken") 赋值时发生错误:

kotlin.UninitializedPropertyAccessException: lateinit property prefs has not been initialized

我不明白错误在哪里,我也检查了this thread .这是我的代码 fragment

Prefs.kt :

class Prefs(context: Context) {
private val PREFS_FILENAME = "com.example.myapp.prefs"
private val PREFS_TOKEN = "token"
private val prefs: SharedPreferences = context.getSharedPreferences(PREFS_FILENAME, 0)

var token: String?
get() = prefs.getString(PREFS_TOKEN, "")
set(value) = prefs.edit().putString(PREFS_TOKEN, value).apply()
}

应用.kt:

val prefs: Prefs by lazy {
App.prefs
}

class App : Application() {
companion object {
lateinit var prefs: Prefs
}

override fun onCreate() {
prefs = Prefs(applicationContext)
super.onCreate()
}
}

prefs.token 的默认值为"",为什么日志说还没有初始化呢?

最佳答案

好的,问题找到了......代码没问题,我只是错过了添加这一行

android:name=".App"

在标签中 <application在我的 Android list 中。

关于android - Kotlin Android 共享首选项 - lateinit 属性首选项尚未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51295035/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com