2016-09-30 6 views
0

TabLayoutにはViewPagerがあります。 ViewPagerには2つのタブ項目AとBがあります。TabLayout ViewPagerクリアフラグメント

タブAを押すと、タブBと同じ正しい表示が表示されます。今度はタブAで、少しだけFragmentのA1(デフォルト) - > A2 →A3。タブBを押してからタブAに戻ると、私はまだA3を見ることができます。タブAを押すたびに、Fragment A1に移動するにはどうすればよいですか?私はこの論理(ViewPagerまたはTabLayout.ViewPagerOnTabSelectedListener)をどこに追加するか分からず、A1 Fragmentにデフォルト設定します。

アイデア?

答えて

0

A1> A2> A3より、これはフラグメントを置き換える方法です。

を呼び出すと、フラグメントを3つのフラグメントのすべて同じコンテナに置き換えてください。

public void replaceFragment(Fragment fragment, int container, String tag) { 
    mFragmentManager = getFragmentManager(); 
    mFragmentTransaction = mFragmentManager.beginTransaction(); 
    mFragmentTransaction.replace(containerId, fragment, tag); 
    mFragmentTransaction.addToBackStack(tag); 
    mFragmentTransaction.commit(); 
} 

とバック押しボタン用: あなたはB]タブに移動し、Aに戻ってくるたび、このようここ

public void removeFragment() { 
    mFragmentManager = getFragmentManager(); 
    mFragmentManager.popBackStack(); 
} 

フラグメントを削除するフラグメントA3の状態が破壊され、このことができます願っています。

関連する問題