2016-02-05 77 views
5

我有Navigation Drawer其中Tab Viewer有一個碎片。在tabviewer中,我使用的ViewPager也在Fragment中。 爲ViewPager的代碼是ViewPager片段在第二次導航抽屜碎片內部正常工作

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); 

的選項卡是在其內容導航抽屜的第一次點擊來,但第二次標籤的唯一的標題不其佈局未來。佈局沒有到來,刷卡也不能在不同的標籤之間工作? 爲什麼它第一次工作,但沒有休息? 我附加了兩個不同點擊相同導航抽屜碎片的圖像。 這是第一次點擊,所以佈局即將完美。 enter image description here

這在第二次嘗試點擊相同的片段,但只有背景是沒有任何佈局內容。

enter image description here

幫助擺脫這個問題。的

((FragmentActivity)getActivity()).getSupportFragmentManager() 
+1

您使用getChildFragmentManager()insted的((FragmentActivity)getActivity())getSupportFragmentManager() –

回答

13

使用

getChildFragmentManager() 

代替我用getFragementManager()。所以我能夠重新加載標籤中使用的片段。 現在,我用了getChildFragmentManager()。它工作正常。

+0

android.support.v4.app的。 .FragmentManager在TabsPagerAdapter中使用,並且這個getChildFragmentManager()是android.app.FragmentManager,它不能應用在'viewPager.setAdapter(new TabsPagerAdapter(getChildFragmentManager());'中,它給出的錯誤說不能應用。 TabsPagerAdapter中的更改以使其成爲可能android.app.FragmentManager,但擴展類'FragmentPagerAdapter'具有'android.app.FragmentPagerAdapter。 。它只支持v4.app。任何解決方案,這與他的v4兼容?或任何其他選項來使其工作。謝謝 –

+0

你沒有使用v4.fragment這就是爲什麼發生這個問題,使用v4.fragment而不是片段 –

+0

非常感謝它的工作 –

0

它正在爲我工​​作。

嘗試使用:

getChildFragmentManager() 

代替:

((FragmentActivity)getActivity()).getSupportFragmentManager()