做項目的時候用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();
}
}
}
}
然後傳值就沒有問題了