美文网首页
04 | Android 项目笔记 清空ViewPager已存在

04 | Android 项目笔记 清空ViewPager已存在

作者: itkluo88 | 来源:发表于2018-08-23 17:11 被阅读402次

    页面ResourceFragment组成: Tab+ViewPager,  ViewPager每一页存Fragment。

    标签头Tab数据由接口返回, 而添加到ViewPager的页面是根据标签头Id请求接口返回

    现在要求收到通知刷新这个页面-----即重新请求标签头,根据标签加载页面, 所以要先清空原来 ViewPager中的页面。

    每一个Fragment这个就是----ResourceFragment,都有FragmentManager,保存其中添加的Fragment,所以我们添加到ViewPager都在FragmentManager里面, 所以只要找到添加并清除就好了, 组织语言总匮乏,直接上代码吧

    ~~~

    private void clearFragmentCache() {

    try {

    if (mAdapter ==null) {

    return;

            }

    int size =fragments.size();

            FragmentManager mFragmentManager = getChildFragmentManager();

            FragmentTransaction mCurTransaction = mFragmentManager.beginTransaction();

            for (int i =0; i < size; i++) {

    String name =mAdapter.makeFragmentName(mViewPager.getId(), i);

                Fragment fragment = mFragmentManager.findFragmentByTag(name);

                if (fragment !=null) {

    mCurTransaction.remove(fragment);

                }

    }

    mCurTransaction.commitNowAllowingStateLoss();

        }catch (Exception e) {

    e.printStackTrace();

        }

    }

    ~~~

    相关文章

      网友评论

          本文标题:04 | Android 项目笔记 清空ViewPager已存在

          本文链接:https://www.haomeiwen.com/subject/tmsmiftx.html