片段中的 MaterialDrawer 后退按钮

MaterialDrawer back button in fragment

我使用 Mike Penz 的 MaterialDrawer,我遇到了问题。 我有 Activity (AppCompat)3 个片段Activity 包含所有 fragments。 在 fragment 2 和 3 中,我在 OnCreate

中启用返回 button
((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

并在 Activity

@Override
    public void onBackPressed() {
        if (drawer.isDrawerOpen())
            drawer.closeDrawer();
        if (getFragmentManager().getBackStackEntryCount() == 1) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(false);
            drawer.getActionBarDrawerToggle().syncState();
            getFragmentManager().popBackStack();
        } else if (getFragmentManager().getBackStackEntryCount() > 0)
            getFragmentManager().popBackStack();
        else
            super.onBackPressed();
    }

当激活 fragment 2 和 3 click on the Back Button 导致打开 Drawer & 如何通过按下按钮 Back 来禁用 2 和 3 fragment 中的调用 Drawer

当我使用标准Drawer时,我有一个主题ActionBar,没有这样的问题。

UPD 我需要点击工具栏中的切换后退按钮,没有智能手机物理按钮

改变

 if (drawer.isDrawerOpen())
     drawer.closeDrawer();
 if (getFragmentManager().getBackStackEntryCount() == 1) {
     getSupportActionBar().setDisplayHomeAsUpEnabled(false);
     drawer.getActionBarDrawerToggle().syncState();
     getFragmentManager().popBackStack();
 }

 if (drawer.isDrawerOpen())
     drawer.closeDrawer();
 else if (getFragmentManager().getBackStackEntryCount() == 1) {
     getSupportActionBar().setDisplayHomeAsUpEnabled(false);
     drawer.getActionBarDrawerToggle().syncState();
     getFragmentManager().popBackStack();
 }

一切顺利