3

我使用MaterialDrawerMike Penz 的一个,但我遇到了问题。我有Activity (AppCompat)3个 FragmntsActivity包含所有fragments. 在fragment2 和 3 中,我启用 Back buttoninOnCreate

((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();
    }

当激活fragment2 和 3clickBack Button导致打开Drawer& 如何通过按下按钮禁用Drawer2 和 3 中的呼叫?fragmentBack

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

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

4

1 回答 1

1

改变

 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();
 }

你已准备好出发

于 2016-05-07T12:00:59.937 回答