关闭

fragment里getactivity空指针问题

标签: androidbug
2693人阅读 评论(4) 收藏 举报
分类:

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

后记:

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

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

有不明白的加博客留言一起交流,共同进步;

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:120435次
    • 积分:2028
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:125篇
    • 译文:0篇
    • 评论:30条
    文章分类
    最新评论