关于Fragment的几个问题

关于Fragment的几个问题

这几天,在Fragment上出了些问题,简单地总结一下:

1、Fragment+ViewPager导致的onResume错位。
由于ViewPager的预加载,导致一些错乱。比如,我有A/B/C/D/E 五个Fragment在ViewPager里,从A切到B时,会执行C的onResume。也就是下一个Fragment的onResume方法。这不是我们预期的,在onResume里需要做的一些事情,放在onResume里,会导致一些超出预期的错乱。一个解决方法setUserVisibleHint方法。setUserVisibleHint会在一个Fragment显示隐藏状态改变以后执行。需要注意的是,这个方法首次执行时间在onCreateView之前,View可能未初始化,会导致空指针问题。

2、Fragment里的Edittext问题。
我的情况是在一个activity里有N个Fragment,通过replace方式切换。当再次切换到同一个Fragment的时候,我发现上一次在Fragment内的EditText里输入的文字还存在,即使我在onCreateView的方法里重新初始化了EditText,也无济于事。参考博客: http://blog.csdn.net/xiehao_95/article/details/52625642

3、Fragment调用getActivity返回null的问题
Fragment在onAttach之后,调用getActivity才有值。当activity被回收,执行onDetach,Fragment里的网络回调调用getActivity返回null,导致空指针异常。 参考博客:http://www.ithao123.cn/content-10515183.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值