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 viewpager中始终有fragment,怎么都删不掉,彻底清空viewpager中的数据,清空重置viewpager和indicate;缓存 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727246517a1104690.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论