Android问题解决之Fragment not attached to Activity异常

来源:互联网 发布:java项目视频百度云 编辑:程序博客网 时间:2024/05/20 06:30

1 描述

关于Fragment(XXFragment) not attached to Activity 异常。出现该异常,是因为Fragment的还没有Attach到Activity时,调用了如getResource()、getString()等,需要上下文Content的函数。

2 原因

往往这种问题发生在线程中,尤其是网络请求线程中。因为父Activity可能无意中destory掉,而线程还在执行,此时在线程中的操作获取不到父Activity的上下文Content,疑似造成内存泄漏。

3 解决

解决方法就是:等将调用的代码写在OnStart()中。

  @Override    public void onStart() {        super.onStart();        if (isAdded()) {//判断Fragment已经依附Activity            productId = getArguments().getString(Constant.INTENT_ID);            //获取参数列表            getParamList(productId);        }    }

4 参考链接

[Android Pro] java.lang.IllegalStateException: Fragment(XXFragment) not attached to Activity异常

网上还有几处这样的参考:http://stackoverflow.com/questions/10919240/fragment-myfragment-not-attached-to-activity 回答的主要是在调用之前增加一个判断isAdded()。

两外说这个异常解决办法的有http://stackoverflow.com/questions/6870325/android-compatibility-package-fragment-not-attached-to-activity

0 1
原创粉丝点击