2

AB、およびCの3 つのアクティビティがあります。

onCreate()A では、B と C を起動するための 2 つの連続したステートメントを呼び出します。startActivity(...)しかし、android はonCreate()アクティビティ B を即座に呼び出しません。代わりに、スタックの一番上にあるため、C を押すと。onCreate()次に、B およびその他のライフサイクル メソッドを呼び出します。

これが私のコード例です。

public class A extends Activity {

  @Override 
  protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  startActivity(this, B.class); 
  startActivity(this, C.class);
  }
}

アクティビティ B の onCreate の呼び出しが延期される理由の手がかりはありますか?

4

3 に答える 3

2

onCreate への連続した呼び出しをキューに入れます。作成された最後のアクティビティ (この場合は C) を押すと、アクティビティ B が作成され、B で onCreate が呼び出されます。

于 2012-06-03T15:27:41.687 に答える
2

簡単に言えば、startActivity コマンドをキューにプッシュし、B がその順番を待っているということです。A -> B -> C が必要な場合は、B の onCreate から C を呼び出します。

于 2012-04-30T13:49:41.797 に答える
0

finish()アクティビティのin ) を使用しOnPause(て、現在行っていることの代わりにスタックからアクティビティをクリアできます。

于 2012-04-30T13:56:34.007 に答える