これは、ナビゲーション ドロワーを使用してフラグメントを表示する方法です。
private void displayView(int position) {
// update the main content by replacing fragments
Fragment fragment = null;
switch (position) {
case 0:
fragment = new Fragment0();
break;
case 1:
fragment = new Fragment1();
break;
case 2:
fragment = new Fragment2();
break;
case 3:
fragment = new Fragment3();
break;
case 4:
fragment = new Fragment4();
break;
case 5:
fragment = new Fragment5();
}
default:
break;
}
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.frame_container, fragment)
.addToBackStack(null)
.commit();
// update selected item and title, then close the drawer
mDrawerList.setItemChecked(position, true);
mDrawerList.setSelection(position);
setTitle(navMenuTitles[position]);
mDrawerLayout.closeDrawer(drawerll);
} else {
// error in creating fragment
Log.e("MainActivity", "Error in creating fragment");
}
}
ユーザーが次の場所に移動したとします。Fragment 2-> Fragment 5-> Fragment3.
ユーザーがクリックすると、各フラグメントに andback button
が必要です。その特定の場所に移動すると、フラグメントのが表示されます。descending order
name
fragment
Fragment 3-> Fragment 5-> Fragment2.
これは私が試したことです:
最初の方法:
FragmentManager fm = getSupportFragmentManager();
int count = fm.getBackStackEntryCount();
for(int i = 0; i < count; ++i) {
fm.popBackStackImmediate();
}
2 番目の方法:
fragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
これを機能させることができません**(つまり、元のフラグメントに戻すことができません**)、バックスタックに基づいてフラグメントの名前を表示できません
どんな助けでも大歓迎です。