解决Android viewpager+fragment刷新fr
2017-04-17 本文已影响319人
艾瑞达双鱼
相信大家都遇见过这样的需求,就是viewpager嵌套fragment的时候上边一般都有自己的标题标签栏,如果上边还有分类选择,点击选择的时候就要刷新标签栏,那么已经加载的fragment也需要重新刷新,如果直接做以下操作
fragments.clear();
fragments.add(fragment);
pagerAdapter.notifyDataSetChanged();
这样会发现数据并没有刷新,在网上找了一下,发现可能是FragmentPagerAdapter有缓存的原因,具体我也不是很清楚,还是直接说解决方法吧,其实很简单。。。使用FragmentStatePagerAdapter然后重写其getItemPosition方法:
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
返回值POSITION_NONE代表让系统重新加载
而默认的POSITION_UNCHANGED是没有改变的
这样pagerAdapter.notifyDataSetChanged();就有可以有效的刷新数据了