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()等方法。

更多推荐