finish()之后onCreate流继续
我想从onCreate方法内部完成一项活动。当我调用时finish(),onDestroy()没有立即调用,代码不断流过finish()。onDestroy()直到onCreate()大括号结束才被调用。 根据onCreate()developer.android.com/reference上的描述。 您可以从此函数内调用finish(),在这种情况下,将立即调用onDestroy(),而不会执行其余的活动生命周期(onStart(),onResume(),onPause()等)。 我问的原因是:我想检查传递给的捆绑包中的数据onCreate()。当然,我可以控制传递给的内容onCreate,但我仍然认为应该在交付时进行检查。 我的代码包含A启动Activity的类B。我相信不应调用最后两个“ if子句之外”标签,因为语句中的finish方法if应该已经破坏了活动。它与if子句无关,因为第二个finish()调用之后的标记行仍然被读取。 我的代码: A级 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // goToBButton: when pressed sends message to class B. Button goToBButton = (Button)this.findViewById(R.id.go_to__b_btn); goToBButton.setOnClickListener(new OnClickListener() { @Override public void onClick (View v) { Log.i(TAG,"A Class: goToBButton, onClick"); Intent i = new Intent(A.this, B.class); startActivityForResult(i,REQ_TO_B); …