BUG
在Fragment中执行一段耗时任务,在任务未结束的时候,重建Activity就会导致getActivity()
为null
,所有用到getActivity()
的地方都会引起空指针异常,如果使用了getResources()
方法,就会导致Fragment not attached to Activity
。
解决
将FirstFragment
中涉及到的地方
textview.setText(getResources().getString(R.string.app_name));
改为
if (isAdded()) {
textview.setText(getResources().getString(R.string.app_name));
}
isAdded()
方法可以判断当前的Fragment
是否已经添加到Activity
中,只有当Fragment
已经添加到Activity
中时才执行getResources()
等方法。