![](/img/trans.png)
[英]onCreate() is not running when i switch to the activity or onDataChanged is getting called first
[英]onCreate not getting called for first activity when calling startActivity consecutively for two different activities
我有三个活动A , B和C。
在A的onCreate()
中,我在两个连续的语句中调用startActivity(...)
来启动B和C。但是android不会立即在活动B上调用onCreate()
。 相反,当我按C时,因为它位于堆栈的顶部。 然后在B和其他生命周期方法上调用onCreate()
。
这是我的示例代码的样子。
public class A extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
startActivity(this, B.class);
startActivity(this, C.class);
}
}
关于活动B的onCreate调用为何被推迟的任何线索?
简而言之,您将startActivity命令推入队列,而B等待轮到它了。 如果要A-> B-> C,请从B的onCreate调用C。
它将排队您对onCreate的连续调用。 按下创建的最后一个活动(在本例中为C)后,将创建活动B,从而在B上调用onCreate。
您可以在Activity的OnPause(
)中使用finish()
清除堆栈中的Activity,而不是正在执行的操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.