2

私のAndroidアプリケーションでは、最初にカフェを検索します。ユーザーがカフェを1つ選択すると、次のアクティビティでその詳細が表示されます。その後、ユーザーはカフェの地図を表示できます。ユーザーが[完了]ボタンをクリックすると、最初のアクティビティである検索結果にユーザーをリダイレクトする必要があります。では、どうすればこれを行うことができますか?finish()メソッドを呼び出すと、現在のアクティビティのみが閉じられます。

前もって感謝します !

4

5 に答える 5

11

続行するすべてのアクティビティで finish() を使用するか、このフラグFLAG_ACTIVITY_CLEAR_TOPを使用して最初のアクティビティを開始すると、最初のアクティビティのトップ アクティビティがすべてクリアされ、最初のアクティビティがトップになります。次のように使用します。

Intent intent = new Intent(this, yourFirstActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
于 2011-08-26T09:30:20.560 に答える
2
//DOES NOT FINISH ALL ACTIVITY 

 Intent intent=new Intent();
 intent.setFlags(Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);


//FINISH ALL ACTIVITY WHICH IS IN STACK ABOVE TARGET ACTIVITY

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
于 2011-12-02T12:33:15.660 に答える
2

thiss フラグでそのアクティビティを起動しますIntent.FLAG_ACTIVITY_CLEAR_TOP

参考: Androidのドキュメント

于 2011-08-26T09:29:17.063 に答える
0

ユーザーが以前のアクティビティ B に戻ることができるようにするには、Intent.FLAG_ACTIVITY_CLEAR_TOP を使用しないでください。

代わりに、アクティビティ B は startActivityForResult(...C...) を使用する必要があり、同じアクティビティ B は onActivityResult() で結果を確認し、アクティビティ C で DONE がクリックされた場合は終了する必要があります。その後、アクティビティ B が正常に表示されます。

于 2011-08-26T12:04:59.647 に答える
0
   Intent.FLAG_ACTIVITY_CLEAR_TOP 

最初のアクティビティ以外はすべてクリアされます。これはかなりうまくいくはずです。

Android Application Developer Forumによると、このアクティビティは次の方法で開始する必要があります。

 startActivity(intent);
于 2011-08-26T10:32:54.187 に答える