7

初心者向けの質問...つまり、Cherry と Apple という 2 つのアクティビティがあり、それぞれに別のアクティビティに移動するためのボタンがあります。だから行ったり来たり。

クラス「チェリー」で私はこれを言います:

intent = new Intent(Cherry.this, Apple.class)
startActivity(intent);

それはAppleに行くべきであることを意味します。Apple アクティビティにも同様のコードがあります。

私が見ていると思うのは、たとえばActivity Appleを起動するたびに、Appleを再アクティブ化するのではなく、新しいインスタンスを開始していることです。ドキュメントを精査しましたが、必要な機能を実行するフラグやその他の呼び出しが見つかりません。

ヒントをいただければ幸いです。

-- ピト

4

2 に答える 2

11

FLAG_ACTIVITY_REORDER_TO_FRONTはどうですか?

FLAG_ACTIVITY_CLEAR_TOPも非常に便利で、ターゲット アクティビティに到達するまでバック スタックでアクティビティを終了します。

明確にするために、上記のフラグを使用している場合でも、アクティビティが再開される可能性があります。これは、メモリを解放しようとしてアクティビティが破棄された場合に発生します。つまり、 と で適切な予防措置を講じて、アクティビティが再起動を処理できることを確認する必要がありonPauseますonSaveInstanceState

于 2011-03-27T15:05:58.037 に答える
3

Intent.FLAG_ACTIVITY_REORDER_TO_FRONT は、ここで指定されているように既に実行されている場合、起動されたアクティビティを前面に戻します。現在のアクティビティを終了しないように、戻るボタンを自分で処理する必要があります。

于 2011-03-27T15:06:11.107 に答える