【发布时间】:2016-12-19 09:44:21
【问题描述】:
我已经在 Activity 中实现了导航抽屉。我的应用中有 3-4 个片段。
假设有 3 个片段:Fragment_1、Fragment_2、Fragment_3
当我启动我的应用程序时,Fragment_1 已加载,我使用导航抽屉转到另一个片段。
原来如此
Fragment_1 -> Fragment_2 -> Fragment_3 -> Fragment_1 -> Fragment_3
现在,当我按下返回按钮时,就像
Fragment_3 -> Fragment_1 -> Fragment_3 -> Fragment_2 -> Fragment_1
但是,我想要一些东西,比如当我按下返回键时,无论我在哪里,我 始终导航回 Fragment_1。
我正在使用下面的代码导航到另一个片段:-
nav_menu_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (position) {
case 0:
DashboardFragment dashboardFragment = new DashboardFragment();
fragmentTransaction.replace(R.id.mainContainer, dashboardFragment, dashboardFragment.getClass().getName());
break;
case 1:
ProfileFragment profileFragment = new ProfileFragment();
fragmentTransaction.replace(R.id.mainContainer, profileFragment, profileFragment.getClass().getName());
fragmentTransaction.addToBackStack(null);
break;
case 2:
ContactUsFragment contactUsFragment = new ContactUsFragment();
fragmentTransaction.replace(R.id.mainContainer, contactUsFragment, contactUsFragment.getClass().getName());
fragmentTransaction.addToBackStack(null);
break;
case 3:
AboutUsFragment aboutUsFragment = new AboutUsFragment();
fragmentTransaction.replace(R.id.mainContainer, aboutUsFragment, aboutUsFragment.getClass().getName());
fragmentTransaction.addToBackStack(null);
break;
default:
break;
}
fragmentTransaction.commit();
drawer.closeDrawer(GravityCompat.START);
}
});
请帮忙...
【问题讨论】:
标签: android android-fragments navigation back-stack