onSaveInstanceState всегда null

Рейтинг: 0Ответов: 0Опубликовано: 27.02.2023

При переключении активити данные не сохраняются

MainActivity

binding.imageButton2.setOnClickListener { val image_intent = Intent(this, ImageActivity::class.java)
    startActivity(image_intent)}

ImageActivity

var prompt: String? = "qq"
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    Log.d("AAAAA", "onCreate")
    setContentView(R.layout.activity_image)
    binding1 = ActivityImageBinding.inflate(layoutInflater)
    setContentView(binding1.root)

    if (savedInstanceState != null) {
        binding1.textView.text = savedInstanceState.getString("key")

    }
    else
        println("save = null")
binding1.imageButton.setOnClickListener { val main_intent = Intent(this, MainActivity::class.java)
        startActivity(main_intent) }
}
 
override fun onSaveInstanceState(outState: Bundle) {
    binding1.generate.setOnClickListener {
        outState.putString("key", prompt)}
    Log.d("AAAAA", "onSave = $prompt")
    super.onSaveInstanceState(outState)}

override fun onResume() {
    super.onResume()
    Log.d("AAAAA", "onResume")
    binding1.generate.setOnClickListener {
        prompt = binding1.textView.text.toString() + 1
        binding1.textView.text = prompt.toString()
    }

Log

D/AAAAA: onCreate             ------открыл 2е активити, несколько раз нажал кнопку
I/System.out: save = null
D/AAAAA: onResume

D/AAAAA: onSave = TextView111111     ------перешел в 1е активити
D/AAAAA: onStop

D/AAAAA: onCreate
I/System.out: save = null          -----вернулся во 2е активити, TextView не сохранилась
D/AAAAA: onResume

Что сделать чтоб значения сохаранялись при переходе в другое активити и обратно?

Ответы

Ответов пока нет.