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