viewPager删除缓存fragment

fragment结合viewpager会缓存fragment在内存,除非退出程序,想要不退出程序情况下刷新fragment页面,就要删除缓存;

public class MainActivity extends AppCompatActivity {

    ViewPagerAdapter2 viewPagerAdapter2;
    ViewPager viewPager;
    @Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        s3 = 1;
       viewPager = findViewById(R.id.viewPager);
       viewPagerAdapter2 = new ViewPagerAdapter2(getSupportFragmentManager());
        viewPager.setAdapter(viewPagerAdapter2);

        findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                System.out.println("点击");


        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
                List<Fragment> fragments = getSupportFragmentManager().getFragments();
                if (fragments != null) {

                for (Fragment childFragment :fragments) {
            transaction.remove(childFragment);
           
        } 
 transaction.commit();
 }


              viewPagerAdapter2 = new ViewPagerAdapter2(getSupportFragmentManager());
                viewPager.setAdapter(viewPagerAdapter2);
                viewPagerAdapter2.notifyDataSetChanged();
            }
        });

    }


}
public class ViewPagerAdapter2 extends FragmentPagerAdapter {


    public ViewPagerAdapter2(FragmentManager fm) {
        super(fm);




    }



    @Override
    public Fragment getItem(int position) {
        System.out.println("输出item"+position);

        switch(position) {
            case 0:
                return new BlankFragment();
            case 1:
                return new BlankFragment2();

        }


        return null;
    }

    @Override
    public int getCount() {

        return array.length;
    }

    @Override
    public CharSequence getPageTitle(int position) {

        return array[position];
    }
    public int getItemPosition(Object object) {
// TODO Auto-generated method stub
        System.out.println("返回位置");
        return PagerAdapter.POSITION_NONE;
    }


}

 

转载于:https://www.cnblogs.com/Ocean123123/p/11209682.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值