android - 失去新活动的所有价值 - 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)
}
解决方案
您应该像后退按钮一样使用 finish() 方法
btnBackToMain.setOnClickListener {
finish()
}
如果您使用 startActivity ,它不会返回旧活动并打开一个新活动。
MainActivity -> SecondActivity -> MainActivity
<-finish()
old values
推荐阅读
- html - 对齐 2
同一行的元素
- haskell - 实现 Reader monad(来自 Real World Haskell 书)
- networking - 从谷歌云中的“x-forwarded-for”标头中删除负载均衡器 ip
- javascript - Firebase:在互联网断开连接时使用 Localstorage 进行渲染
- android - 每次调用片段时都会加载片段数据
- xaml - 如何更改 Xamarin 表单中标签栏的框架/位置?
- node.js - Angular 2 身份验证保护 http GET 请求以检查用户是否有会话
- postgresql - 如何以非编程方式动态更改@Namednativequery.query?
- javascript - 等待嵌套的子承诺
- tensorflow - Best practice for upgrading CUDA and cuDNN for tensorflow