Override
public void onBackPressed(){
if(drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawer(GravityCompat.START);
}else {
super.onBackPressed();
}
}
我有一个带一些物品和碎片的导航抽屉。当我单击一个项目时,显然会打开一个片段,但是当打开任何片段时,如何将backbutton返回到mainactivity布局?
答案 0 :(得分:0)
如果要在片段内定义后退按钮并使用片段类进行处理。您可以使用:
@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);
}
答案 1 :(得分:0)
您也可以在MainActivity本身中尝试以下操作:
@Override
public void onBackPressed() {
if(getFragmentManager().getBackStackEntryCount() > 0) {
getFragmentManager().popBackStack();
} else if(drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
答案 2 :(得分:0)
您必须在mainActivity Backpressed()中手动维护所有片段,您可以使用此高级项找到现在打开的片段,您可以替换backButton上的主要片段。