FragmentPagerAdapter使用很方便,但是刚开始使用的时候,往往都会遇到数据无法刷新的问题,原因是之前Fragment缓存无法清除。
本人在开发的时候,也同样遇到这个问题,上网搜了很多资料,有些太麻烦,有些无法使用,我觉得写这个类的人,应该会留下清除缓存的方法吧,于是一个函数一个函数找,终于找到了。
//全局变量声明
private List<Fragment> mTabs = new ArrayList<Fragment>();
//在更新数据之前调用以下代码,清除缓存
if (!mTabs.isEmpty())
getSupportFragmentManager().getFragments().removeAll(mTabs);
//不要忘记清除链表哦
mTabs.clear();
是不是很简单,轻轻松松就解决了,不用重写类或者写一堆代码。至于性能方面,反正我是7个Fragment显示,没有问题。