非常新的Android,但是当我在活动A中,我打算转到活动B,然后返回活动A,活动A中显示的所有数据在转到B之前都会丢失。我从不打电话给finish(),我做错了吗?
答案 0 :(得分:0)
我建议您参加Google的培训并了解活动生命周期。
http://developer.android.com/training/basics/firstapp/index.html
使用您的两个活动,覆盖所有生命周期方法(onCreate,onResume等)并在其中放入一条简单的日志消息。只需在活动之间移动,并观察您的日志以了解事件的顺序。
从那里,了解Bundles以及如何保存您的实例状态,您将很好地制作应用程序!
答案 1 :(得分:0)
检查您的所有Views
是否在XML中都有标识符。 Android仅恢复具有标识符的视图。
此外,对于您的自定义数据(不是视图):
可能是你的活动A在后台被摧毁了。
通常他们会这样:
1)将onSaveInstanceState()
添加到您的活动中。将所有自定义数据放在Bundle参数中。务必在最后调用super 。您无需存储视图,只需存储自定义变量等自定义数据。
2)在onCreate中查看savedInstanceState
Bundle
参数是否为空。
3)如果null
填充了您的默认数据。
4)如果没有null
从Bundle
恢复数据并填充