继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Android ViewPager Fragments滑动只刷新当前页面

潇湘沐
关注TA
已关注
手记 104
粉丝 12
获赞 38

有时候我们使用ViewPager中嵌套Fragment,来实现滑动跳转界面。可是在ViewPager中如果使用FragmentStatePagerAdapter适配器,在滑动到某个页面后,当前页面是之前缓存好的,也就是说从服务器获取的数据并不是最新的,而且左右滑动ViewPager每一个pager,当前的Fragment并没有走任何生命周期,所以如果想从第一个pager滑动到第二个pager后,第二个pager的内容进行刷新,那么就需要用一下方法实现。

1、首先定义一个接口:

public static interface FragmentState{

    void fragmentVisible();}

2、在需要被滑动到当前刷新的Fragment实现该接口

public class MyFragment extends Fragment implements FragmentState {
    ...

    @override
    public void fragmentVisible() {
         //do specific stuff
         resetDataOrWhatever();
    }}

3、在ViewPager中的滑动监听中调用实现的方法即可

mViewPager.setOnPageChangeListener(new OnPageChangeListener() {
    @Override
    public void onPageSelected(int position) {
        if(position == 1) {
            MyFragment fragment = mViewPager.getAdapter().getItem(1);
            // call the fragmentVisible method here
            fragment.fragmentVisible();
        }
    }
    ...});

原文链接:http://www.apkbus.com/blog-367522-59061.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP