我的活动“父母”有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();
}
}
任何帮助将不胜感激!
谢谢
答案 0 :(得分:0)
尝试用以下代码替换代码:
AutoShareWks
将其放在您的“ MainMenu”(通过单击大小写使用片段实例的实例)下。