解决Android viewpager+fragment刷新fragment数据集失败

相信大家都遇见过这样的需求,就是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();就有可以有效的刷新数据了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容