【问题标题】:Manage toolbar's navigation and back button from fragment to fragment in android在android中管理工具栏的导航和后退按钮从片段到片段
【发布时间】:2016-08-20 07:31:09
【问题描述】:

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

【问题讨论】:

    标签: java android android-fragments android-studio


    【解决方案1】:

    您已将 Fragment 添加到后台堆栈并像这样在片段管理器中添加 listener

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

    【讨论】:

    • Я искал это очень долго!!! Спасибо огромное!!! // 找了很久!!!非常感谢!!!
    猜你喜欢
    • 2015-06-16
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多