Какой обратный вызов следует использовать для обнаружения фрагмента Android, удаленного с экрана, и он больше не виден

Я использую FragmentTransaction, чтобы показать свой фрагмент внутри своей активности, а также добавляю его в стопку следующим образом:

getSupportFragmentManager().beginTransaction()
        .addToBackStack(null)
        .setCustomAnimations(R.anim.enter_from_left, R.anim.exit_to_right, R.anim.enter_from_right, R.anim.exit_to_left)
        .replace(R.id.parentRelativeLayout, myFragment)
        .commit();

Когда нажата кнопка «Назад», я проверяю, находится ли myFragment сверху, и если это так, я просто вызываю super.onBackPressed(), чтобы вытолкнуть его из заднего стека и показать предыдущий фрагмент.

Я хочу знать, какое событие/обратный вызов в моем фрагменте может помочь мне обнаружить, что оно больше не отображается в активности.

Я использовал onPause(), onDetach() и... но они не запускаются (как это описано https://stackoverflow.com/a/16252923/1080355)


person VSB    schedule 25.06.2018    source источник
comment
@sanemars Невозможно проверить этот экземпляр внутри фрагмента? Я заметил, что onFragmentDetached вызывается внутри обратных вызовов активности, но не вызывается внутри самого фрагмента.   -  person VSB    schedule 25.06.2018