Задать вопрос
@StynuBlizz

Как обрабатывать нажатие кнопки назад во фрагментах Android?

Вот такой код в главной активити
@Override
    public void onBackPressed() {

        //Обработка нажатия кнопки назад для фрагментов
        FragmentManager fm = getSupportFragmentManager();
        BackPressedForFragments backPressedForFragments = null;
        
        for (Fragment fragment: fm.getFragments()) {
            if (fragment instanceof  BackPressedForFragments) {
                backPressedForFragments = (BackPressedForFragments) fragment;
                break;
            }
        }
        if (backPressedForFragments!=null){
            backPressedForFragments.onBackPressed();
        }

        super.onBackPressed();

    }


Интерфейс
public interface BackPressedForFragments {
     void onBackPressed();
}


И и переопределения метода внутри фрагмента
public class PreparationFragment extends Fragment implements BackPressedForFragments
 @Override
    public void onBackPressed() {
        //Код для выполнения
    }


Так вот проблема в том что этот фрагмент находиться внутри другого фрагмента (подфрагмент короче) и переопределенный метод у него не вызываеться, а вызываеться вообще у другого фрагмента (думаю что это метод getFragments возвращает фрагменты не в том порядке как мне этого хочеться).Короче,как мне обробатывать нажатия кнопки назад внутри фрагментов?Что можете предложить?
  • Вопрос задан
  • 2249 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы