首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >片段中的MaterialDrawer后退按钮

片段中的MaterialDrawer后退按钮
EN

Stack Overflow用户
提问于 2016-05-07 11:04:13
回答 1查看 401关注 0票数 3

我使用来自Mike的MaterialDrawer和我面临的问题。我有Activity (AppCompat)3 FragmntsActivity包含所有fragments。在fragment 2和3中,我在OnCreate中启用了Back button

代码语言:javascript
复制
((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Activity

代码语言:javascript
复制
@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();
    }

当active fragment 2和3 clickBack Button上导致打开Drawer时&如何通过按下Back按钮来禁用2和3 fragment中的调用Drawer

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-07 12:00:59

变化

代码语言:javascript
复制
 if (drawer.isDrawerOpen())
     drawer.closeDrawer();
 if (getFragmentManager().getBackStackEntryCount() == 1) {
     getSupportActionBar().setDisplayHomeAsUpEnabled(false);
     drawer.getActionBarDrawerToggle().syncState();
     getFragmentManager().popBackStack();
 }

代码语言:javascript
复制
 if (drawer.isDrawerOpen())
     drawer.closeDrawer();
 else if (getFragmentManager().getBackStackEntryCount() == 1) {
     getSupportActionBar().setDisplayHomeAsUpEnabled(false);
     drawer.getActionBarDrawerToggle().syncState();
     getFragmentManager().popBackStack();
 }

你可以走了

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37087761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档