2

例外を解決するには、次のように書く必要があることを知っています:

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
TabInfo currentTabInfo = getCurrentTabInfo();
Fragment currentFragment = currentTabInfo.mTabFragments
                            .peek();
currentTabInfo.detachFragment(ft, currentFragment);
currentTabInfo.attachFragment(ft, fragment);
currentTabInfo.detachFragment(ft, fragment);
ft.commit();
.........

    protected void attachFragment(FragmentTransaction ft, Fragment fragment) {
        if (mAbstractTabActivity.mFragmentsWasAdded.contains(fragment)) {
            ft.attach(fragment);
        } else {
            ft.add(R.id.fragment_container, fragment, String.valueOf(mTag));
            mAbstractTabActivity.mFragmentsWasAdded.add(fragment);
        }
    }
        protected void detachFragment(FragmentTransaction ft, Fragment fragment) {
            if (!fragment.isDetached()) {
                ft.detach(fragment);
            }
        }

しかし、フラグメントをアタッチ/デタッチすると、このフラグメントの実行が開始されます。私の質問は、実行を開始せずに FragmentManager にフラグメントを追加する方法です???

4

0 に答える 0