admin管理员组

文章数量:1550527

mViewPager.setOffscreenPageLimit(fragment缓存的个数);

这是fragment的缓存机制;如果想去掉该模式缓存,如下:

1、重写adapter即可

package com.example.colormaterial.adapter;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentStatePagerAdapter;
import androidx.viewpager.widget.PagerAdapter;

import com.example.colormaterial.base.BaseFragment;

import java.util.List;

public class FragmentAdapterWithoutCache extends FragmentStatePagerAdapter {

    private List<BaseFragment> list;
    public FragmentAdapterWithoutCache(FragmentManager fm, List<BaseFragment> fragmentList){
        super(fm);

        list=fragmentList;
    }
    @NonNull
    @Override
    public Fragment getItem(int position) {
        return list.get(position);
    }

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

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




        fragmentAdapter = new FragmentAdapterWithoutCache(getSupportFragmentManager(), fragments);


2、清空indicate:

            commonNavigator.setAdapter(null);
            indicator.setNavigator(null);
            viewPager.setAdapter(null);

本文标签: 清空缓存数据删不掉android