我正在从一个活动中调用一个Intent:我想知道当我调用Intent时活动会发生什么,我的意思是,它被破坏了吗?在onPause?的onStop?
这就是我用来调用意图:
Intent intent = new Intent(context,class);
context.startActivity(intent);
我想知道如果我在活动中有一个复选框,那么例如我检查该复选框并在我转到下一个活动后,但是如果我回到上一个活动,则不会选中该复选框,因为它当我打电话给意图时 我不知道我是否解释了自己,但我希望你能给我一个解决这个问题的暗示。
答案 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生命周期图表中查看代码。