您的位置:首页 > 其它

fragment里getactivity空指针问题

2013-12-02 14:59 155 查看
最近在做项目的时候用到了fragment,发现在有时候用getactivity会出现空指针异常,原因一直未曾弄明白,也有人说这是fragment的BUG,不管怎么样,解决方法还是很简单,只要在fragment里写一个构造方法,在构造方法里传环境参数就行了。但是有时候还是会有,异常原因一直不明,有大神知道的望指教..

后记:

通过查看源码发现fragment里有一个initstate方法,在activity被替换掉的时候mActivity便赋值给了null。如图


而这个方法会在replace操作的时候执行,意思就是替换fragment的时候被替换的fragment会执行initstate()方法,会把原先的mActivity重新赋值为null,如果此时涉及到异步操作并需要context的话,便会抛出空指针异常,因为在异步操作完成前fragment已经执行initstate()了,mActivity已经被重新赋值为null了,所以如果此时调用getactivity的话会抛异常。

有不明白的加博客留言一起交流,共同进步;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: