我是新來Android開發和開發應用程序使用Android的默認導航抽屜佈局。回到上一個關於onBackPressed的片段Android
我在應用程序中使用片段。
我想在下一個片段上按下後退按鈕時回到上一個片段。 的onBackPress必須實現以下功能
- 找回以前的片段上的一個片段時
- 關閉抽屜時,導航抽屜是打開的片段1
當雙背壓
// replacing the fragment
if (fragment != null) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, fragment);
ft.commit();
}
onBackPress
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else if (getFragmentManager().getBackStackEntryCount() > 0) {
FragmentManager fm = getSupportFragmentManager();
fm.popBackStack();
} else {
super.onBackPressed();
}
}
但這不是工作和逼人退退出除非導航抽屜被打開它的應用程序關閉。
添加'.addToBackStack(null);'不起作用。添加這一行後,在第一次按返回按鈕時,沒有任何反應,然後再次點擊應用程序退出 –