onStop не вызывается во фрагменте, который добавляется в android.R.id.content - PullRequest
0 голосов
/ 15 февраля 2019

Я добавляю фрагмент, используя android.R.id.content, чтобы заполнить пространство Activity, используя следующий код.

private void doFragmentTransaction(Fragment fragment, String tag) {
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.setCustomAnimations(R.anim.slide_in_bottom_y, R.anim.slide_out_bottom_y,
        R.anim.slide_in_bottom_y, R.anim.slide_out_bottom_y);
    transaction.add(android.R.id.content, fragment, tag);
    transaction.addToBackStack(tag);
    transaction.commitAllowingStateLoss();
}

И у меня возникла проблема, чтобы поймать момент, когда фрагмент закрытнажатием кнопки назад.Метод жизненного цикла onStop не вызывается.

Что мне нужно сделать, чтобы все методы жизненного цикла вызывались правильно?

1 Ответ

0 голосов
/ 15 февраля 2019

Здравствуйте, вы можете работать над активностью onBackPressed (), как показано ниже

  @Override
public void onBackPressed() {
    if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
        val frag = getSupportFragmentManager().findFragmentById(android.R.id.container);
        if (frag is HomeFragment) {
            Fragment currentFragment = (HomeFragment) frag;
            //do your code
            return
        }
    }
    super.onBackPressed();
}
...