#android
#Android
Вопрос:
Я конвертирую некоторые действия в несколько фрагментов, и теперь, когда я нажимаю кнопку «Назад», это не работает.
какие изменения я должен внести в этот фрагмент при его возврате к предыдущей активности и при возврате к предыдущему фрагменту?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.returnHome:
Intent i= new Intent(getActivity().getApplicationContext(), WoundNavigation.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
return true;
case android.R.id.home:
getActivity().onBackPressed();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Комментарии:
1. Возможно, вы добавляете фрагмент в backstack, если я вас понимаю. В противном случае дайте еще несколько объяснений, чтобы помочь нам и себе.
Ответ №1:
Попробуйте так
напишите это в методе onCreateView()
setHasOptionsMenu(true)
и внесите эти изменения
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.returnHome:
Intent i= new Intent(getActivity(), WoundNavigation.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
return true;
case android.R.id.home:
getActivity().onBackPressed();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Это может помочь. Если это также не работает, вам необходимо управлять обратным стеком фрагмента в activity, откуда вы вызываете свой фрагмент
Комментарии:
1. теперь это работает, когда я хочу вернуться от первого фрагмента текущей активности к предыдущей активности. что мне делать, когда я хочу вернуться от второго фрагмента к первому фрагменту текущей активности?