1. 问题描述:
在使用Fragment的时候,使用add来添加Fragment时,会收不到系统的生命周期回调函数:
2.解决方案:
在添加Fragment时,将事务添加到BackStack中
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(resId, fragment);
transaction.addToBackStack(null);
然后在需要的地方注册一个Fragment的BackStack变化的回调监听器。
当BackStack发生了变化后就可以判断当前显示的Fragment的情况了。
getSupportFragmentManager().addOnBackStackChangedListener(OnBackStackChangedListener);