【发布时间】:2017-10-13 05:41:49
【问题描述】:
我正在使用导航抽屉布局中的片段。每次在 frame_container 中看到任何其他片段时,我都想在按下后退按钮时返回 HomeFragment。如果主页片段已经可见,我想完成 MainActivity(navigation_drawer_activity)。帮我更正主要活动中的 OnBackPressed 代码。
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
}
Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.fragment_home);
if(fragment!=null && fragment.isVisible()){
clearBackStack();
finish();
}else {
clearBackStack();
getSupportFragmentManager().beginTransaction().replace(R.id.frame_container,new HomeFragment()).commit();
}
}
【问题讨论】:
-
您是否使用 ViewPager 来管理您的片段?
-
没有使用框架布局..
-
和片段管理器。
标签: android android-fragments navigation-drawer