我有Base Activity
包括NavigationView
与2 menu items
。在开始时,它会加载Home fragment
,其中有background image
。每个加载特定的fragment
。当我选择条款&条件菜单项时,它会加载T & C fragment
&当我按回按钮时,它只是简单地杀死它。为什么我需要按两次按钮才能第一次解散片段?
但是,当我选择关于我们菜单项时,它会加载关于我们fragment
但我需要按两次BACK button
来杀死它。我需要知道为什么会发生?码在AppBaseActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
fragmentManager = getSupportFragmentManager();
fragmentTransaction = fragmentManager.beginTransaction();
HomeFragment homeFragment = new HomeFragment();
fragmentTransaction.add(R.id.body_container, homeFragment, "");
fragmentTransaction.commit();
}
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
navigationView.getMenu().findItem(item.getItemId()).setChecked(true);
switch (item.getItemId()) {
case R.id.nav_terms :
fragmentTransaction = fragmentManager.beginTransaction();
TCFragment tcFragment = new TCFragment();
fragmentTransaction.replace(R.id.body_container, tcFragment, "");
fragmentTransaction.commit();
break;
case R.id.nav_about_us :
fragmentTransaction = fragmentManager.beginTransaction();
AboutUsFragment aboutUsFragment = new AboutUsFragment();
fragmentTransaction.replace(R.id.body_container, aboutUsFragment, "");
fragmentTransaction.commit();
break;
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
All fragments
部分根本就只充气尊敬的XML重写onCreateView()
。在fragments
中没有编写代码。
使用。新增的,而不是.replace装载片段,看看 – Redman
你覆盖'onBackPressed()' –
但是为什么它那么T&C片段的情况下工作? – VVB