【问题标题】:MaterialDrawer back button in fragment片段中的 MaterialDrawer 后退按钮
【发布时间】:2016-05-07 11:04:13
【问题描述】:

我使用来自 Mike Penz 的 MaterialDrawer,但我遇到了问题。 我有 Activity (AppCompat)3 FragmntsActivity 包含所有 fragments。 在 fragment 2 和 3 中,我在 OnCreate 中启用 Back 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 clickBack Button 导致打开Drawer & 如何通过按下按钮 Back 来禁用 2 和 3 fragment 中的呼叫 Drawer

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

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

【问题讨论】:

标签: android navigation-drawer materialdrawer


【解决方案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();
 }

你很高兴

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多