Все, что я хочу, - это выйти из приложения, только если пустой стек пуст.Дважды нажмите кнопку возврата, чтобы выйти из приложения с некоторым условием
В одной части моего приложения есть галерея, в которой при щелчке изображения открывается фрагмент, показывающий полноэкранное изображение. Когда на этом полноэкранном изображении нажата кнопка «Назад», я хочу вернуться к фрагменту галереи. Я сделал это, добавив фрагмент обратно в стек.
Но в других частях приложения, когда нажата кнопка «Назад», я хочу показать тост «Пожалуйста, снова нажмите« НАЗАД », чтобы выйти». И когда кнопка назад снова нажата, приложение закрывается. Как я могу это сделать?
Это то, что я сделал до сих пор:
boolean doubleBackToExitPressedOnce = false;
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0){
getFragmentManager().popBackStack();
} else {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
commonTasks.ShowStringMessage("Please click BACK again to exit");
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce=false;
}
}, 2000);
//super.onBackPressed();
}
}
Очевидно, что это не сработало.
Пожалуйста, подтвердите, добавляете ли вы свои фрагменты в backstack с помощью getFragmentManager() или getSupportFragmentManager() – Nitesh
@Nitesh: getFragmentManager(). Вы можете помочь? –
ваш код отлично выглядит для меня .. можете ли вы рассказать, что происходит, когда вы нажимаете кнопку «Назад»? – Nitesh