在android中管理工具栏的导航和从片段到片段的后退按钮

我的所有片段都是通过ActionBarActivitymainActivity )控制的,在DrawerLayout中实现了DrawerLayout ,并且所有子片段都通过drawerLayout的列表项单击进行推送。 我面临的问题是在通过抽屉推出片段之后我想将抽屉图标更改为ToolBar后退图标,以便用户可以导航到上一个片段并处理android.R.id.home内部的回调。相同的片段或mainActivity内部。

您已将Fragment添加到后台堆栈,并在片段管理器中添加侦听器,如下所示

 getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() { @Override public void onBackStackChanged() { if (getSupportFragmentManager().getBackStackEntryCount() > 0) { getSupportActionBar().setDisplayHomeAsUpEnabled(true); // show back button toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { onBackPressed(); } }); } else { //show hamburger getSupportActionBar().setDisplayHomeAsUpEnabled(false); toggle.syncState(); toolbar.setNavigationOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { drawerLayout.openDrawer(GravityCompat.START); } }); } } });