新活动开始后会发生什么?

时间:2012-12-06 17:16:17

标签: android

我正在从一个活动中调用一个Intent:我想知道当我调用Intent时活动会发生什么,我的意思是,它被破坏了吗?在onPause?的onStop?

这就是我用来调用意图:

Intent intent = new Intent(context,class);
context.startActivity(intent);

我想知道如果我在活动中有一个复选框,那么例如我检查该复选框并在我转到下一个活动后,但是如果我回到上一个活动,则不会选中该复选框,因为它当我打电话给意图时 我不知道我是否解释了自己,但我希望你能给我一个解决这个问题的暗示。

5 个答案:

答案 0 :(得分:1)

默认情况下,活动已停止,但未销毁。如果系统资源不足,它可能会被破坏。

所以在你的情况下可能发生的事情是,系统资源不足,所以它会破坏你的活动。您应该在onSaveInstaceState中保存您的UI状态,并在onRestoreInstanceState中将其恢复。阅读更多here

答案 1 :(得分:0)

intent.putExtra( “”, “”);在此处保存复选框状态

答案 2 :(得分:0)

将复选框的状态放在shared preferences或静态变量中,一旦你回到那个活动,检查它的状态并填充它(如果是这种情况)

答案 3 :(得分:0)

I mean, is it destroyed? onPause? onStop?

onStop被调用。

来自developer.android.com

onStop() - Called when the activity is no longer visible to the user. 

尝试使用isChecked()保存静态布尔值中的复选框状态,并检查onRestart()中的布尔值 - 当您返回上一个活动时,会调用此布尔值。

答案 4 :(得分:0)

关于保存复选框的状态(无论是由于意图还是屏幕旋转),有许多先前的问题。适用相同的生成方法:

例如: How can I maintain the state of a CheckBox even after navigating to different activities in android?

要确定正在进行的生命周期调用,可以通过调用超类来覆盖方法,并在调试器中使用断点。这对我来说一直有助于在Android生命周期图表中查看代码。