A、B、C、D、E、Fのアクティビティがある場合
AはBを開き、BはCを開き、CはDを開きます。 A→B→C→D→E→Fのようになります。
現在、私はバックスタックですべてのアクティビティを開いた後、Fアクティビティにいます。
今私はAを閉じずにBの活動に行きたいが、すべての活動(C、D、E、F)を閉じる。これを行う方法を教えてください。新しいアクティビティを開いて、前のアクティビティを終了しない
0
A
答えて
0
にonBackPressed方法を使用してコールBの活動は、あなたはドキュメントからIntent.FLAG_ACTIVITY_CLEAR_TOP
Intent intent - new Intent(this, B.class);
intent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
を使用する必要があります:
int型FLAG_ACTIVITY_CLEAR_TOP
設定されていて、起動中のアクティビティがすでに現在のタスクの で実行されている場合は、その アクティビティの新しいインスタンスを起動すると、その上にある他のアクティビティもすべて閉じられ、 このインテントは新しいインテントとして という古いアクティビティに配信されます。
1
これを試してください。
- アクティビティAは、B(活性仕上げ)
- アクティビティBはアクティビティCがD(完了C活性) を呼び出し
- B活性方法をonBackPressed使用C(完了B活性) コールAアクティビティを呼び出す呼び出しE活性の方法
- アクティビティEは、F(終了E活性)を呼び出しをonBackPressed使用 コールDアクティビティアクティビティDは、E(終了D活性)を呼び出し
- D活動方法をonBackPressed使用Cアクティビティを呼び出しますこの場合、F活動
0
これらの操作には、MainActivityと複数のフラグメントを使用する必要があります。
まず、フラグメント・コンテナーを作成します(基本的には、フラグメントを保持できるビューです。そのフラグメントはMainActivityからいつでも変更できます)。その後
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
このようなあなたのMainActivityで、コンテナ内のフラグメントを変更します:
MainActivityのためのあなたのXMLのレイアウトは、あなたがドンのクラスを破壊する
// Create a new Fragment to be placed in the activity layout
YourFragment firstFragment = new YourFragment();
// In case this activity was started with special instructions from an
// Intent, pass the Intent's extras to the fragment as arguments
firstFragment.setArguments(getIntent().getExtras());
// Add the fragment to the 'fragment_container' FrameLayout
getSupportFragmentManager().beginTransaction()
.add(R.id.fragment_container, firstFragment).commit();
関連する問題
- 1. runnableを終了して新しいアクティビティを開始
- 2. 開いているアクティビティをすべて終了し、Javaクラスから新しいアクティビティを開く方法
- 3. アクティビティを終了しない(完了していない)
- 4. 前のアクティビティを終了しないでアクティビティをアニメーション化する方法
- 5. Java Androidのアクティビティを終了し、前のアクティビティを開始します
- 6. MainActivityと新しいアクティビティの間のすべてのアクティビティの終了
- 7. Androidで新しいアクティビティを開始し、現在のアクティビティを終了しますか?
- 8. AppWidgetProviderから新しいアクティビティを起動する前にすべてのアクティビティを終了する方法android
- 9. 子アクティビティの終了後にアクティビティの新しいインスタンスを作成しないようにする
- 10. 戻るボタンを押してもアクティビティが終了しない
- 11. 終了方法()他のアクティビティ(開いている場合)
- 12. 親アクティビティを失うことなく新しいアクティビティを開く
- 13. ListViewアイテムをクリックして新しいアクティビティを開かない
- 14. 現在のアクティビティを強制終了せずに新しいアクティビティを開始する方法
- 15. アクティビティの終了
- 16. アクティビティ以外のクラスから新しいアクティビティを開始する
- 17. マルチウィンドウをサポートしない新しいアクティビティの開始
- 18. APIを使用していないアクティビティを終了するためのsetContent()
- 19. 新しいアクティビティを開始し、そのアクティビティでメソッドを開始する方法
- 20. Listview、新しいアクティビティを開くon
- 21. Google Mapsを開く新しいアクティビティ
- 22. スレッド内で新しいアクティビティを開始
- 23. インクルードブロックで新しいアクティビティを開始
- 24. Recyclerビューで新しいアクティビティを開く
- 25. ImageButtonで新しいアクティビティを開く
- 26. フローティングボタン新しいアクティビティを開始する
- 27. Android終了アクティビティ
- 28. Android - edittext値をバックグラウンドプロセスに渡して、一度終了したら新しいアクティビティを開始する方法
- 29. ハンドラスレッドを開始してアクティビティを終了する
- 30. インテントが新しいアクティビティを開始していません
使用仕上げ()メソッド」をバックスタックに入れたい – Kunu
'intent.setFlag(Intent.FLAG_ACTIVITY_CLEAR_TOP);を使用してください。 – Piyush
この[リンクの説明をここに入力してください](http://stackoverflow.com/questions/5794506/android-clear-the-backstack) –