Android 保存值​;在与Kotlin的模型类的SharedReference中

Android 保存值​;在与Kotlin的模型类的SharedReference中,android,kotlin,model,sharedpreferences,Android,Kotlin,Model,Sharedpreferences,我有一个问题,我认为是很基本的 我正在Kotlin的一个测试应用程序上做模型课 这是我的代码: class Persona(name :String, age :Int) { val CUSTOM_PREF_NAME = "App_data" val prefs = customPreference(MainApplication.applicationContext(), CUSTOM_PREF_NAME) var name :String = name

我有一个问题,我认为是很基本的

我正在Kotlin的一个测试应用程序上做模型课

这是我的代码:

class Persona(name :String, age :Int) {

    val CUSTOM_PREF_NAME = "App_data"
    val prefs = customPreference(MainApplication.applicationContext(), CUSTOM_PREF_NAME)

    var name :String = name
        get() = "The name: $field" 
        set(value) {
            prefs.saveName = value
        }

    var age: Int = age
        get() = field
        set(value) {
          field = value
        }
}
我想要的是,在var名称集的括号之间,值保存在SharedPreferences中

我没有成功,我认为我的理论是错误的

在这个集合的括号中,我甚至不能执行一个简单的日志

从那里我什么都跑不了? 如何在集合的SharedReferences中保存值?使用应用程序中任何其他点的SharedReference都可以正常工作

我想我在这里有点迷路了


提前谢谢。

您的意思是,您的setter中的
名称
的代码从未被调用?实例化时不会调用它,但如果您尝试更改
name
的值,则应该调用它。顺便说一句,由于getter只查看backing字段,因此获取值将始终检索初始值,即使您设置了不同的值。在我的主要活动中,我有一个按钮来更改名称的值,但当我这样做时:persona.name=“Arthur”persona.age=20,该集合的方括号之间是什么“prefs.saveName=value”没有运行..我快疯了!谢谢你的get通知,现在没关系。
    var name :String = name
    get() = "The name: $field" 
    set(value) {
        field = value
        prefs.saveName = value
    }