我有一些活动,比方说活动A,B和C.
在活动A中,我通过带有onOptionsItemSelected
的菜单调用B:
Intent main = new Intent (this, MainActivity.class);
this.startActivity(main);
现在,当我进入B活动时,我可以用相同的方式调用A一个(使用Intent和startactivity):我如何处理它来调用OnResume
或{{1 A的方法而不是OnRestart
的方法?
我正在记录它,每当我从一个活动转移到另一个活动时,它总是调用OnCreate
方法:我该怎么办?
答案 0 :(得分:2)
在manifest.xml中将活动A配置为“singleTask”或“singleInstance”。然后,当您从活动B调用活动A(假设活动A已经像您描述的那样实例化)时,活动A的onResume()将是fire而不是onCreate()。这种配置有一些缺点,请阅读this。
示例清单:
<activity android:name=".YourActivityA"
android:configChanges="keyboardHidden|orientation"
android:launchMode="singleTask">
答案 1 :(得分:0)
您无法控制是否直接调用OnCreate / OnResume / OnRestart方法。它取决于之前的活动是否仍在记忆中。
http://developer.android.com/guide/components/activities.html http://developer.android.com/images/activity_lifecycle.png
答案 2 :(得分:0)
我记录了它,无论何时我从一个活动转移到另一个活动,它总是调用OnCreate方法:我该怎么办?
要从活动B返回活动A,请使用:
startActivity()
,然后始终会调用A onCreate()
。finish()
,然后可能会或可能不会调用A onCreate()
。 (这取决于A是否被您或操作系统摧毁。)