【monkey测试】Fragment not attached to Activity

monkey测试跑出了一个异常:

// CRASH: packgeName (pid)

// Short Msg: java.lang.IllegalStateException

// Long Msg: java.lang.IllegalStateException: Fragment a{422d39d8} not attached to Activity

经过分析和定位,Fragment中一处加载资源报错。

原因是这样的Fragment在Activity中加载前就调用了,获取资源的一些方法。

如:

getResources().getString(R.string.app_name);

如何解决问题呢?

在Fragment中有 isAdded()这个方法,只需要在加载资源前进行判断即可:

if(isAdded()){
        getResources().getString(R.string.app_name);
    }

isAdded()官方解释:

final boolean isAdded()
Return true if the fragment is currently added to its activity.

解决问题参考:http://stackoverflow.com/questions/10919240/fragment-myfragment-not-attached-to-activity

原文地址:https://www.cnblogs.com/xiajf/p/4151806.html