【发布时间】:2019-06-02 05:01:08
【问题描述】:
package com.example.acer.test
import android.content.Context
import android.content.SharedPreferences
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
private var sharedP: SharedPreferences? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_add.setOnClickListener {
sharedP = getSharedPreferences("addData", Context.MODE_PRIVATE)
var myEditor = sharedP?.edit()
myEditor?.putString("product_name" , et_productname.text.toString())
myEditor?.commit()
Toast.makeText(this@MainActivity, "The product is saved" , Toast.LENGTH_SHORT).show()
}
btn_get.setOnClickListener {
et_getproduct.text = sharedP?.getString("product_name","null")
}
}
}
我需要从 Kotlin 中的 Shared 首选项中读取一个字符串,但它显示以下错误:Error:(29, 34) Type mismatch: inferred type is String?但可编辑!预料之中
【问题讨论】: