Ошибка: (29, 34) Несоответствие типов: предполагаемый тип - String? но редактируемый! ожидалось

1
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, но она показывает следующую ошибку: Ошибка: (29, 34) Несоответствие типов: выводится тип String? но редактируемый! ожидалось

Теги:
kotlin

1 ответ

0

Эта строка заставляет ваш код не работать.

et_getproduct.text = sharedP?.getString("product_name","null")

Чтобы установить текст для EditText в Android.

btn_get.setOnClickListener {
    val productName = sharedP?.getString("product_name", "null") ?: "null"
    et_getproduct.setText(productName)
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню