Fragment not attached to Activity异常

转载自:https://blog.csdn.net/u012939909/article/details/53355836


问题:

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

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


解决方法:

if (isAdded()) {
    tvMsg.setText(getResources().getString(R.string.app_name));
}
  • 1
  • 2
  • 3

isAdded()方法可以判断当前的Fragment是否已经添加到Activity中,只有当Fragment已经添加到Activity中时才执行getResources()等方法。


猜你喜欢

转载自blog.csdn.net/u010898441/article/details/80277946