首页 > 解决方案 > sharedpreferences 不起作用 android kotlin

问题描述

我正在使用 Kotlin 创建一个简单的 Android 应用程序。我是 Kotlin Andoid 的初学者。我不知道如何使用它,我到目前为止所尝试的内容如下所述。如果我输入名称,它应该使用SharedPreferences.

主要活动

val userName = findViewById(R.id.ed1) as EditText
val b1 = findViewById(R.id.btn1) as Button

b1.setOnClickListener {
    val editor = getSharedPreferences("name", Context.MODE_PRIVATE).edit()
    editor.putString("name", userName.toString())
    editor.apply()
    val intent = Intent(this,Main2Activity::class.java)
    intent.putExtra("name", userName.toString())
    startActivity(intent)
}

主活动2

val userName = getSharedPreferences("name",Context.MODE_PRIVATE).getString("name", "")
txt1.setText(userName)

中没有显示任何内容txt1

标签: androidkotlin

解决方案


你把你的edittext作为字符串。您应该从 edittext 中放置文本,然后将其保存到共享首选项。所以用——

editor.putString("name", userName.getText().toString())

代替-

editor.putString("name", userName.toString())

推荐阅读