Android 平板開發回退棧的管理
阿新 • • 發佈:2018-12-09
我的平板開發分為5個模組為了方便對各個模組裡面的Fragment 的管理所以我給新建的每一個Fragment設定了type,
在BaseFragment中加入瞭如下的方法。
public enum FragmentType {
CASH, MEMBER, ORDER, STATISTIC, SETTIGN
}
public abstract FragmentType getFragmentType();
然後每新建一個fragment我都會設定type。
@Override public FragmentType getFragmentType() { return FragmentType.MEMBER; }
然後在BaseFragment中就可以獲取到在Fragment棧中篩選出當前模組的Fragment。
/** * 獲取Fragment棧 */ public List<Fragment> getFragmentStack() { List<Fragment> fragmentList = getFragmentManager().getFragments(); int num = fragmentList.size(); List<Fragment> resultList = new ArrayList<>(); for (int i = 0; i < num; i++) { Fragment itemFragment = fragmentList.get(i); if (itemFragment instanceof BaseFragment) { if (((BaseFragment) itemFragment).getFragmentType() == this.getFragmentType()) { resultList.add(itemFragment); } } } return resultList; }