1.我的情況是Activity里嵌套了Fragment_0,然后Fragment_0里面又嵌套了兩個Fragment:Fragment_1、Fragment_2,然后我在其中一個Fragment,Fragment_1里面有一個包含一系列Fragment的ViewPager,按照前面的步驟沒什么問題,數據也是對的,可是!可是!當我在另一個fragment,也就是Fragment_2里添加的和Fragment_1里面的一模一樣,然后就有問題了,Tab能正常顯示,點擊切換也沒什么問題,但是當你活動下面的ViewPager時,居然指示條滑動和標題不對應,有時候滑動2、3次才能切換標題,但是指示條每次只移動一點,這是我已經把ViewPager里面的fragment都給去了,要不然直接就甭,現實的錯誤信息是我ViewPager里面的fragment的下拉刷新出問題了,這都是由於先前的Fragment_1里面的fragment有沒有銷毀的導致的!!
結局方法就:我們前面說到,FragmentPagerAdapter的構造方法需要一個v4包下的FragmentManager,之前我是在上溯到Activity里面去取的,其實FragmentPagerAdapter的構造方法里要傳進去的是getChildFragmentManager()獲取到的FragmentManager,這個是專門供當前Fragment用的FragmentManager,必須要這樣,要不然可能你當時沒發現問題,后來有問題了就准備哭吧,然后還需要注意的是,getChildFragmentManager()這個方法是屬於Fragment里面的方法,如果你在app包下調用這個方法那么獲取的就是app包下的FragmengManager,反之,如果你在v4包下調用這個方法那么獲取的就是v4包下的FragmengManager!
2.還有,同一個Activity下,不能同時使用v4包下的Fragment和app包下的Fragment!
3.大神說,如果使用的不是v4包下的Fragment,需要導入v11支持庫用v11的FragmentPagerAdapter!(我想這種適用於有太多地方,改不過來的情況吧)