有2项活动。在第一个我调用api以获取onCreate()方法中的一些信息以在屏幕上显示它,而在第二个我只显示一些常见问题。 所以,当我从faq屏幕返回到主屏幕时,再次调用onCreate。有可能第二次跳过它吗?
答案 0 :(得分:2)
当生命周期回调发生时,您需要调整代码以相应地运行。
此外,onCreate()
只有在活动之前被销毁或第一次创建时才会被调用。通常情况下,回到刚刚离开范围的Activity
时不会发生这种情况。 (检查您是否设置了开发者选项"不要保留活动")
答案 1 :(得分:1)
是的,这是可能的。执行以下步骤
第1步:
调用新的活动意图而不调用finish();
第2步:
如果您想关闭Activity B
,只需致电finish();
您需要了解活动生命周期,这有助于您解决此问题。
阅读以下内容:
在正常的应用程序使用期间,前景活动有时会受阻 由导致活动暂停的其他可视组件。对于 例如,当半透明活动打开时(例如 对话框的样式),之前的活动暂停。只要了 活动仍然部分可见,但目前不是活动 焦点,它仍然暂停。
您可以阅读更多创意的开发者网站。 http://developer.android.com/training/basics/activity-lifecycle/pausing.html也可以参考此http://developer.android.com/reference/android/app/Activity.html
答案 2 :(得分:0)
您是否在开始新活动之前调用了finish()。如果没有,那么如果按下后退按钮,则不会打开活动A的创建。如果是,则不要调用finish()
答案 3 :(得分:0)
系统调用此回调,因此您无法对其进行太多控制。你需要做的是不考虑避免这种回调,而是如何正确处理它。
请查看onSaveInstanceState
和onRestoreInstanceState
答案 4 :(得分:0)
答案 5 :(得分:-2)
在类中声明一个静态布尔值,如
static boolean done
然后你写:
...
if(!done){
...your code
done = true;
}
在你的onCreate方法中。就是这样。