活动被破坏了?

时间:2013-12-19 15:01:56

标签: android android-intent android-activity

非常新的Android,但是当我在活动A中,我打算转到活动B,然后返回活动A,活动A中显示的所有数据在转到B之前都会丢失。我从不打电话给finish(),我做错了吗?

2 个答案:

答案 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)如果没有nullBundle恢复数据并填充