2017-03-06 8 views
0

私は現在アンドロイド用のブラウザアプリで作業しています。私は断片で新しいタブを管理しています。だから、すべてのユーザーが新しいタブBを開いたときにうまくいき、タブAに戻ってきます。AからBに戻ってきたときに問題が表示されます。同じフラグメントをポップバックしようとすると、二回目。私はフラグメント2回目のバックスタックから断片を取得

boolean chkFlag = getFragmentManager().popBackStackImmediate(currentTag.getFragmentTAG(),0); 

をバック飛び出るよどのように私は、私は事前にあなたの助けに感謝し、新しいtabs-断片

android.app.Fragment f1 = new FragmentHolder(); 
    allFragments.add(f1); 
    getFragmentManager().beginTransaction().replace(R.id.fragmentContainer, f1).addToBackStack(fragmentTags[allFragments.size()-1]).commit(); 

、ここを追加しているか

はこれがあります。 、

loadFragmentAnimated(c, null, R.id.container_name, "title"); 

そして使って、フラグメントを削除を使用して、その後、あなたの活動に機能以下

答えて

1

使用、

private void loadFragmentAnimated(Fragment fragment, Bundle args, int containerId, String title) 
    { 
     fragment.setArguments(args); 
     FragmentManager fragmentManager = getActivity().getSupportFragmentManager(); 
     FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 
     fragmentTransaction.replace(containerId, fragment); 
     fragmentTransaction.commitAllowingStateLoss(); 
    } 

追加フラグメント、

getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentById(R.id.container_name)).commit(); 
+0

はご提案いただきありがとうございますが、私はどのようにタグなしでバックスタックのすべての断片を追跡しますか? – Alexander

+0

あなたはコンテナIDによって断片を追跡できます –

+0

この[post](http://stackoverflow.com/questions/6374170/how-to-set-a-fragment-tag-by-code) –