tablayout+viewpager雙層嵌套時出現異常

我在開發app的時候,外層是個FrameLayout,用Transaction替換fragment的方式實現切換fragment

 val transaction = mFragmentManager.beginTransaction()
        fragment = FragmentFactory.createMainFragment(position) as BaseFragment<*>
        transaction.replace(R.id.fl_content, fragment, position.toString() + "")
        transaction.commitAllowingStateLoss()

然後在其中第二個fragment裏面,又嵌套了一個tablayout+viewpager,然而這時候我發現,切換了外面這層fragment的時候,會導致裏面的viewpager中某些頁面顯示出空白

   tl_cabinet.setupWithViewPager(vp_cabinet,false)
        for (title in titles){
            tl_cabinet.addTab(tl_cabinet.newTab().setText(title))
        }
        var pagerAdapter = CabinetPagerAdapter(activity!!.supportFragmentManager,titles)
      //  pagerAdapter.notifyDataSetChanged()
        vp_cabinet.adapter = pagerAdapter

上面是原方法,後面我才發現是fragmentManager的問題,傳給pagerAdapter需要用childFragmentManager

var pagerAdapter = CabinetPagerAdapter(childFragmentManager,titles)

其實這個問題前面也遇到過,沒有記錄,搞得我都忘了,這次記錄一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章