不从片段调用父活动的onBackPressed()

时间:2018-08-07 14:05:49

标签: android android-fragments onbackpressed

我的活动“父母”有4个片段(A,B,C和D)。
并且我在“父项”活动中覆盖了onBackPressed()方法。
现在,我可以通过单击底部导航项从A-> B,B-> C,C-> D,D-> A和所有其他可能的组合中进行选择。但是,当我在片段B,C和D上按返回按钮时,onBackPressed()方法没有被调用,但是如果我从片段A中执行相同的后退操作,则onBackPressed()被调用。
底部导航抽屉项目的顺序:A,B,C,D。 A是第一个加载到“父母”活动中的片段。
这些是“父母”活动的方法。

     @Override
        public void onAttachFragment(Fragment fragment) {
            super.onAttachFragment(fragment);
        }

        public boolean loadFragment(Fragment fragment) {
            //switching fragment
            if (fragment != null) {
                getSupportFragmentManager()
                        .beginTransaction()
                        .replace(R.id.fragment_container, fragment)
                        .commit();
                return true;
            }
            return false;

 @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }  

任何帮助将不胜感激!
谢谢

1 个答案:

答案 0 :(得分:0)

尝试用以下代码替换代码:

AutoShareWks

将其放在您的“ MainMenu”(通过单击大小写使用片段实例的实例)下。