在 int activity 之前是否存在 EditText 数据?

Existence of EditText data prior to int activity?

有activity、activity。我在A的EditText中输入文字,点击按钮,移动到B,做其他活动,再回到A。此时,我希望文字保留在A的EditText中。我应该怎么办?已尝试 startActivityForResult,但未调用 onActivityResult()。这是不是走错了?

由于 Activity 当你移动到 B 时 A 被破坏,为了恢复你在 EditText 中的数据,你首先必须将它存储在某个地方。为此,您可以使用 Activity 中的 onSaveInstanceState() 方法,该方法将在 Activity 被销毁之前调用。

然后您可以使用 onRestoreInstanceState(savedInstanceState: Bundle?) 或直接在 onCreate(savedInstanceState: Bundle?)

中恢复数据

例如:

const val TEXT_KEY = "editText_text"

override fun onSaveInstanceState(outState: Bundle) {
  super.onSaveInstanceState(outState)
  outState.putInt(TEXT_KEY, yourEditText.text)
}

override fun onRestoreInstanceState(savedInstanceState: Bundle?) {
  super.onRestoreInstanceState(savedInstanceState)

  savedInstanceState?.run {
    yourEditText.text = getString(TEXT_KEY)
  }
}

注意:您应该只使用 onSaveInstanceState 保存简单、轻量级的数据。