1

次のアクティビティのシーケンスがあるとします。

A -> B -> C -> D -> E

DI から E にいるときに、いくつかのアクションを実行したい場合は、E をスタックに保持せずに D に戻ります。したがって、D に戻って [戻る] ボタンを押すと、E ではなく C に戻ります。

どうやってするか ???

4

5 に答える 5

1

これをアクティビティ E の Android マニフェストに追加すると、履歴スタックには表示されません。

android:noHistory="true"
于 2013-07-17T01:36:59.480 に答える
0

これがあなたのアクティビティスタックのやり方だと思います

A -> B -> C -> D -> E -> D (意図的に E から起動)。

次に、2 番目の D から C に移動します。これを行うには、E で、finish()D を開始した後に呼び出します。これにより、スタックから E が削除されます。

于 2013-07-17T01:50:19.357 に答える
0

これを完全に理解しているかどうかはわかりません

D に戻って戻るボタンを押すと、E ではなく C に戻ります

しかし、私があなたがしなければならないことはfinish()、E で終わったときに電話するだけで、D に戻り、D で戻るときに C に戻ります。これがあなたが話していることではない場合は、質問を明確にしてください. しかし、スタックからクリアされるfinish()Activity、もう一度開始するまで E に戻ることはありません。戻るボタンを押して D から戻ることはありません。

Google I/O ナビゲーション

その最も基本的な形でActivitiesは、入ってくる方法で互いの上にスタックに置かれます。1 つを残すと、コールfinish()またはプレスバックによって削除され、その前に置かれたものに移動します (ここであなたの出身地)。それにはもっと多くのことがありますが、それは何が起こるかの非常に基本的なものです.

于 2013-07-17T01:36:22.553 に答える
0

戻るための新しいインテントを作成する代わりに、this.finish();不要になったアクティビティを呼び出す必要があります。これは、ユーザーが戻るボタンを押したときにも「呼び出され」ます。また、新しいアクティビティを作成していて、戻るボタンを押したthis.finish();ときにスキップされる現在のアクティビティthis.startActivity(new Intent(this, ActivityName.class));

于 2013-07-17T01:36:44.277 に答える