0
点赞
收藏
分享

微信扫一扫

viewpager fragment data refresh

碰到一个需求,复杂页面,需要刷新的时候,viewpager的fragment会有旧数据的缓存,导致数据错乱,必须退出app,重新加载,数据才恢复正确。刷新的时候,不管刷新多少次,错误的数据,始终无法更新,这个时候,找了一天,总算找到问题就,就是把适配器的继承的类改一下就行。

package com.example.rcui;

import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerAdapter;

import java.util.List;

// FragmentPagerAdapter 改为 FragmentStatePagerAdapter
public class MyPagerAdapter extends FragmentStatePagerAdapter{
    private List<Fragment> mFragments;

    public MyPagerAdapter(FragmentManager fm, List<Fragment> fragments) {
        super(fm);
        this.mFragments = fragments;
    }

    @Override
    public int getCount() {
        return mFragments.size();
    }

    @Override
    public CharSequence getPageTitle(int position) {
        return String.valueOf(position);
    }

    @Override
    public Fragment getItem(int position) {
        return mFragments.get(position);
    }

    @Override
    public int getItemPosition(@NonNull Object object) {
        return PagerAdapter.POSITION_NONE;
    }
}
举报

相关推荐

0 条评论