0

アクティビティを不明な回数再利用するアプリケーションがあります。走る

a> b1||c1 > b2|| c2 > ...

a > b1 > b2 > b1 に移動すると、アプリには引き続き b1 リストが画面に表示されますが、それをクリックすると、対応する b2 アクティビティに移動します。bのデータを保持するために使用するarrayListは、bの正しいインスタンス用に復元する必要があります。

http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycleを読んでいます が、同じアクティビティを再度使用しているため、onPause と onResume が機能するとは思いません。

4

1 に答える 1

0

それはすべて、アクティビティ間の移動方法によって異なります。

あなたが押し返すか、そうするとき、あなたはfinish()あなたの活動を破壊します。この場合 finish()、b2 で実行していて、b1 に戻ると思います。

アクティビティは、アクティビティのインスタンスを含むスタックのように考えてください。スタックに同じアクティビティの複数のインスタンスを含めることができます。

a にいて b1 に移動すると、スタックは次のようになります。

b1
a

b2 に行くと、スタックは次のようになります

b2
b1
a

次に startActivity()、 b1 に対して別のことを行うと、次のようになります

b1
b2
b1
a

ただし、そうするか finish()押し戻すと、実際には b2 が破棄され、b1 から取得した最初のインスタンスに戻ります。注意: スタックには、さまざまなデータを保持できるアクティビティのインスタンスがあります。

于 2012-04-02T19:31:34.573 に答える