我创建了一个带有导航抽屉的应用程序。我有3个片段。
在我的主要活动中,我称一个已经是导航项目的片段。 我单击了导航栏中的所有片段,然后按“后退”按钮转到了上一个片段,然后转到了首页片段。
但是,每当我在任何片段中按“后退”按钮时,我都想返回首页片段。
让我知道是否需要添加更多详细信息。
navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
switch (menuItem.getItemId()) {
case R.id.nav_home:
fragment = new HomeFragment();
TAG_FRAGMENT="Home";
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment,TAG_FRAGMENT).commit();
break;
case R.id.nav_about:
fragment = new AboutUs();
TAG_FRAGMENT="About";
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment,TAG_FRAGMENT).addToBackStack(null).commit();
break;
case R.id.nav_feedback:
fragment = new Feedback();
TAG_FRAGMENT="Feedback";
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, fragment,TAG_FRAGMENT).addToBackStack(null).commit();
break;
}
drawerLayout.closeDrawer(GravityCompat.START);
return true;
}
});
}
@Override
public void onBackPressed() {
drawerLayout = findViewById(R.id.drawer_layout);
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START);
}
else {
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
getSupportFragmentManager().popBackStack();
} else {
super.onBackPressed();
}
}
}
}