前言:之前对这个问题一直都有困惑 在项目中要求切换到一个Fragment就刷新该Fragment的数据 在网上也看了很多相关的解决方法,发现很多都是重写ViewPager改变它的预加载过于繁琐,要不是就是步骤太多,萌新很难看懂。这里直接讲解一个简单的思路~希望可以对大家有点帮助。
废话不多说:看代码
这个是布局代码 简单的TabLayout+ViewPager
这个是ViewPager的适配器:
重点在于Fragment 当Fragment和ViewPager搭配使用的时候会调用setUserVisibleHint方法,从而我们可以根据这个方法来判断它是否显示,在Fragment里:
这样lazyLoadDataIfPrepared()里的逻辑就会根据Fragment的显示而执行不显示则不会执行。大功告成!!!!!
这里为了刚开始的学习的童鞋能够看懂并不没有进行封装~重复的代码我们可以放置BaseFragment里面的。不懂的童鞋自己研究一下吧 ing