记录Fragment中使用Seekbar的一些坑

问题描述:

两个Fragment:A和B,启动应用进入A,A中的SeekBar正常初始化,切换到B然后切回A,A中的SeekBar归0了

问题分析:

分析log发现,启动应用进入A,SeekBar的onProgressChanged只会触发一次,为预设的值;切到B再返回A,onProgressChanged触发了两次,且第二次的progress为0;

A与B用replace互相切换,怀疑是切换方式的问题,换show、hide方式正常。

结论:

replace()调用的时候,该位置被替换的Fragment实例和视图都会被销毁,但是并不会立即被回收,所以如果在Activity中设置了该Fragment的变量,则该变量对应的实例对象还是旧的,但是整个显示的视图对象却已经是新的了。

解决对策:

1.采用show/hide的方式切换fragment

2.每次replace前都重新new 一个Fragment

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值