Я не знаю, как сформулировать этот вопрос.Как происходит иногда, когда я нажимаю кнопку «Назад», есть больше действий, чем должно быть?
Мое приложение имеет простой ViewPager, и вы нажимаете на что-то на одной из этих фрагментов страницы, и оно переносит вас в другое действие. Нажмите кнопку «Назад», и она вернет вас в ViewPager. Нажмите еще раз и закрывает приложение.
Однако иногда, когда я нажимаю клавишу «Назад» на ViewPager, он снова возвращает меня к другой активности, а затем я отжимаю ее назад, и она возвращает меня в ViewPager и так далее, пока приложение, наконец, не закроется. Другими словами, это похоже на запасные оставшиеся экземпляры ViewPager или другой активности в backstack (я думаю, что это называется), но я не знаю, как и почему это происходит.
Я также не знаю, как воспроизвести ошибку, что еще более расстраивает. Большую часть времени он работает так, как ожидалось, но иногда оставшиеся экземпляры просто появляются из ниоткуда, когда я нажимаю назад.
Как я могу гарантировать, что, когда я нажимаю кнопку «Назад» на другой операции, она возвращается к ViewPager, и когда я нажимаю на ViewPager, она закрывает приложение?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home: //called when I press back button on the phone or the back-arrow on the toolbar
onBackPressed();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
//and then usually that's all I have, but in one particular Activity, I do override the function:
@Override
public void onBackPressed() {
if (some conditions are met) {
finish();
super.onBackPressed();
}
else {
//display some error message
}
}
Вот как я запускаю свою деятельность:
public void launchSomeActivity() {
Intent intent = new Intent(getActivity(), ActivityName.class);
intent.putExtra(etc etc etc);
startActivityForResult(intent, REQUEST_CODE);
}
Вы звоните 'послевкусие()' при запуске новых видов деятельности? –
Я добавил код к сообщению –
FInish() и super.onBackPress() одинаково используют любой из этих методов. – ramji