Я новичок в разработке Android и разрабатываю приложение с использованием макета панели навигации Android по умолчанию.
Я использую в приложении фрагмент.
Я хочу вернуться к предыдущему фрагменту при нажатии кнопки возврата на следующем фрагменте. OnBackPress должен реализовывать следующие функции
- Вернуться к предыдущему фрагменту при переходе к следующему фрагменту
- Закройте ящик, когда ящик навигации открыт
- Выйти из приложения при двойном нажатии назад во фрагменте1
Это мой код в MainActivity при создании нового фрагмента
// 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();
}
}
Но это не работает, и при нажатии кнопки «Назад» приложение закрывается, за исключением случаев, когда панель навигации открыта.