首页 > 解决方案 > 失去新活动的所有价值 - Kotlin

问题描述

我有一个 MainActivity 和 SecondActivity。在 MainActivity 中有一个名为“btnInformation”的按钮,用于导航到 SecondActivity。对于 SecondActivity,有一些用于输入值的文本视图和一个用于返回 MainActivity 的后退按钮(btnBackToMain),问题是,在我在 SecondActivity 中输入一些值之后又返回到 MainActivity ,然后当我再次单击 btnInformation 时,SecondActivity 中的所有值都消失了。

我想我和这个人有类似的问题在更改 Activity 时保持所有值不变。但是,我不太确定。如果是,那么我必须在 SecondActivity 中进行保存状态和恢复状态,对吗?

这是我的代码:

主要活动:

    btnInformation.setOnClickListener {
        val intent = Intent(this, SecondActivity::class.java)
        startActivity(intent)
    }

第二活动:

    btnBackToMain.setOnClickListener {
        val intent = Intent(this, MainActivity::class.java)
        startActivity(intent)
    }

标签: androidkotlin

解决方案


您应该像后退按钮一样使用 finish() 方法

btnBackToMain.setOnClickListener {
    finish()
}

如果您使用 startActivity ,它不会返回旧活动并打开一个新活动。

MainActivity -> SecondActivity -> MainActivity
                                  <-finish()
                  old values

推荐阅读