Вот такой код в главной активити
@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 возвращает фрагменты не в том порядке как мне этого хочеться).Короче,как мне обробатывать нажатия кнопки назад внутри фрагментов?Что можете предложить?