FragmentStatePagerAdapter的使用,解决viewpaper白屏问题

本文介绍了解决QMUI框架下QMUITabSegment+Fragment导致的首页ViewPager白屏问题的方法,通过更换FragmentStatePagerAdapter适配器实现修复,并提到了应用在后台运行时内存数据的处理策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中使用的QMUI框架的QMUITabSegment+fragment,遇到问题:首页时viewpager,直接home键切换到后台,一段时间后再打开,viewpager白屏,但下面的tab正常。

解决办法:把viewpager使用的适配器改成 FragmentStatePagerAdapter就好了。

FragmentStatePagerAdapter fragmentStatePagerAdapter = new FragmentStatePagerAdapter(getSupportFragmentManager()) {
		@Override
		public int getCount() {
			return 5;
		}
		@Override
		public Fragment getItem(int arg0) {
			BaseFragment baseFragment = null;
			switch (arg0) {
			case 0:
				baseFragment = new FunctionFragment();
				break;
			case 1:
				baseFragment = new NewCenterFragment();
				break;
			case 2:
				baseFragment = new SmartServiceFragment();
				break;
			case 3:
				baseFragment = new GovAffairsFragment();
				break;
			case 4:
				baseFragment = new SettingFragment();
				break;
			}
			return baseFragment;
		}
	};

另:项目在后台一段时间后,内存数据也会清理掉,所以需要使用内存数据的需要重新获取一遍。

我的项目是SharedPreferences中存的id,为了方便取值,在SharedPreferences取出id后在application中暂存了,使用时直接在application中取;但内存清理后id也就没了,所以需要重新取id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值