解決TabLayout+ViewPager+Fragment第二次加載fragment數據不刷新

做項目的時候用TabLayout+ViewPager+Fragment第一次加載沒有問題能夠顯示出來fragment裏面的數據也是對的,但是當tablayout數據變了後傳到fragment數據傳的時候是對的但是fragment收到的數據還是第一次傳的,感覺很詫異。找了半天發現是fragment有緩存需要在第二次加載的時候清理然後再加載到viewpager代碼如下:

FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
            if (null != fragmentTransaction) {
                List<Fragment> fragments = getChildFragmentManager().getFragments();
                if (!fragments.isEmpty()) {
                    for (int mm = 0; mm < fragments.size(); mm++) {
                        if (null != fragments.get(mm)) {
                            fragmentTransaction.remove(fragments.get(mm)).commitNowAllowingStateLoss();
                        }
                    }
                }
            }

然後傳值就沒有問題了

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