Fragment使用笔记

本文探讨了在Android应用中,当屏幕尺寸改变时,如何确保Fragment和Tab的状态保持一致,避免了应用重启后出现的默认状态问题。以微信为例,解释了其通过设置配置变化来实现这一功能的方法。

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

1.当一个activity中存在多个Fragment时,一般都会在屏幕的上部或下部有一组tabs,
如微信(版本号:6.3.13,为了避免微信以后改版,特此注明)首页效果;如果此时的Fragment和tab不是默认的状态
(如默认显示第一个Fragment和最左边的tab),
则当用户进行横竖屏切换时(这里模拟的是应用未被从内存中清空,而重启activity的情况)会发现tab变成了最左边的默认值,
但Fragment没有变为默认值。这是由于Fragment的缓存机制造成的,当然微信不会出现这种情况,是因为如下代码:
<activity
 ...
 // 其它设置
 android:configChanges="orientation|layoutDirection|screenLayout|screenSize">
</activity>
备注:当SDK版本>19时(更低版本未做验证),可不用复写activity中的onSaveInstanceState()方法和onRestoreInstanceState()方法
以保存activity销毁前的状态和进行状态的恢复。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值