Java 单击backbutton时如何返回到mainactivity?
我有一个导航抽屉,里面有一些物品和碎片。当我单击一个项目时,显然是打开了一个片段,但是当任何片段打开时,如何将backbutton返回到mainactivity布局?如果您在片段内定义back按钮并使用片段类进行处理。您可以使用以下选项:Java 单击backbutton时如何返回到mainactivity?,java,android,navigation-drawer,onbackpressed,Java,Android,Navigation Drawer,Onbackpressed,我有一个导航抽屉,里面有一些物品和碎片。当我单击一个项目时,显然是打开了一个片段,但是当任何片段打开时,如何将backbutton返回到mainactivity布局?如果您在片段内定义back按钮并使用片段类进行处理。您可以使用以下选项: Override public void onBackPressed(){ if(drawer.isDrawerOpen(GravityCompat.START)){ drawer.closeDrawer(GravityCompat.START
Override
public void onBackPressed(){
if(drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawer(GravityCompat.START);
}else {
super.onBackPressed();
}
}
您也可以在MainActivity本身中尝试以下操作:
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// do something
return true; // return true if back handled, false otherwise
}
return super.onKeyUp(keyCode, event);
}
您必须手动维护mainActivity Backpressed()中的所有片段,您可以使用此高级命令找到当前打开的片段。您可以替换backButton上的主片段
@Override
public void onBackPressed() {
if(getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
} else if(drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}