2

バックスタックにフラグメントを追加しようとしていますが、機能していません。java.lang.IllegalStateException: This FragmentTransaction is not allowed to be added to the back stack.

私はアクションバーのシャーロックを使用しています。私の主な活動では、タブをリッスンします

private class MyTabListener implements ActionBar.TabListener{

        @Override
        public void onTabSelected(Tab tab, FragmentTransaction ft){

//to hide keyboard
            final InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(myView.getWindowToken(), 0);
            getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);



            if(tab.equals(tabData))
            {
                ft.setCustomAnimations(R.anim.animation_fragment_out, R.anim.animation_fragment_switch);

                ft.replace(android.R.id.content, dataFrag);
                imm.hideSoftInputFromWindow(myView.getWindowToken(), 0);
                //ft.setTransition(R.anim.animation_fragment_switch);

                curTab = tabData;
                ft.addToBackStack(null);
                //ft.commit();
                //ft.commit();

            }
            else if(tab.equals(tabComp))//new competition
            {
                ft.setCustomAnimations(R.anim.animation_fragment_out, R.anim.animation_fragment_switch);

                ft.replace(android.R.id.content, teamsFrag);

                //ft.setTransition(R.anim.animation_fragment_switch);
                //ft.commit();

                actionBar.removeTab(tabData);
                actionBar.removeTab(tabComp);
                actionBar.addTab(tabMatches);
                actionBar.addTab(tabRed);
                actionBar.addTab(tabBlue);

                curTab = tabComp;
                ft.addToBackStack(null);
            }



        }

        @Override
        public void onTabUnselected(Tab tab, FragmentTransaction ft){

        }

        @Override
        public void onTabReselected(Tab tab, FragmentTransaction ft){
        }

    }
4

0 に答える 0