How to listen to a fragment of Backstack Pop only?

I wanted to know when the Fragment was pop from backstack.

I have the code below

private void setupChildFragmentPopListener() {
    getChildFragmentManager().addOnBackStackChangedListener(
            new FragmentManager.OnBackStackChangedListener() {
                @Override
                public void onBackStackChanged() {
                    // Do whatever I want
                }
            });
}

However, this code was activated both when adding and in the pop fragment. How could I listen to just a piece of pop music? Or a way to filter in a function onBackStackChanged()if it doesn't pop?

+4
source share
1 answer

You can save the number of backstack entries and compare them each time you call onBackStackChanged().

private void setupChildFragmentPopListener() {
    getChildFragmentManager().addOnBackStackChangedListener(
            new FragmentManager.OnBackStackChangedListener() {
                @Override
                public void onBackStackChanged() {
                    int backCount = getChildFragmentManager().getBackStackEntryCount();
                }
            });
}
+2
source

Source: https://habr.com/ru/post/1662905/


All Articles