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