2016-02-05 13 views
5

は、のフラグメントが1つあるNavigation Drawerです。タブビューアでは、FragmentにもあるViewPagerを使用しています。 ViewPagerのコードは、タブは、そのコンテンツとナビゲーションドロワーの最初のクリックで来ているが、二回目のタブのタイトルのみがそのレイアウトなしに来てViewPagerのフラグメントがナビゲーションドロワのフラグメント内で2回目に正しく機能しない

viewPager = (ViewPager) rootView.findViewById(R.id.pager); 
    viewPager.setAdapter(new TabsPagerAdapter(((FragmentActivity)getActivity()).getSupportFragmentManager())); 

    PagerSlidingTabStrip tabsStrip = (PagerSlidingTabStrip) rootView.findViewById(R.id.tabs); 
    tabsStrip.setViewPager(viewPager); 

あります。レイアウトは表示されず、スワイプも別のタブでは機能していませんか? 初めての作業ですが、残りの作業はなぜですか? 同じナビゲーション・ドラッグ・フラグメントに2つの異なるクリックのイメージを添付しています。 これは最初のクリックですので、レイアウトは完全に来ています。 enter image description here

これは2回目に同じフラグメントをクリックしようとしましたが、レイアウトの内容がなくても背景のみが表示されます。

enter image description here

ヘルプこの問題を取り除くために。

+1

あなたは(getChildFragmentManagerを使用)は、((FragmentActivity)getActivity())getSupportFragmentManager() –

答えて

13

使用

getChildFragmentManager() 

代わり

((FragmentActivity)getActivity()).getSupportFragmentManager() 
+0

android.support.v4.appのinsted .FragmentManagerはTabsPagerAdapterで使用していますが、このgetChildFragmentManager()は 'viewPager.setAdapter(new TabsPagerAdapter(getChildFragmentManager());)で適用できないandroid.app.FragmentManagerです。 TabsPagerAdapterの変更によりandroid.app.FragmentManagerですが、拡張クラス 'FragmentPagerAdapter'には' android.app.FragmentPagerAdapter 'があります。 。 v4.appのみをサポートしています。これのための任意の解決策は、彼のv4とコンパクトですか?またはそれを機能させるための他のオプションがあります。ありがとう –

+0

あなたはなぜこの問題が発生しているv4.fragmentを使用していません、フラグメントの代わりにv4.fragmentを使用してください –

+0

すばらしいおかげでそれは働いた –

1

のI()はgetFragementManagerを用います。だから私はタブで使われている断片をリロードすることができました。 今、getChildFragmentManager()を使用しました。それはうまく動作します。

0

私のために働いています。

使用してみてください:

getChildFragmentManager() 

の代わりに、:。

((FragmentActivity)getActivity()).getSupportFragmentManager() 
関連する問題