当isResumed()返回true时,片段getContext()是否可以返回null

时间:2019-04-25 06:58:06

标签: android android-fragments

在我的代码中,我在网络请求回调之后显示Toast

由于Toast需要Context,因此我首先要检查Fragment是否处于恢复状态isResumed(),然后在{内进行getContext()调用{1}}。

我得到Toast时出现了IllegalStateException错误,指向我在其中显示Fragment not attached to a context的那一行代码

所以我的问题是,Toast为何可以返回null且片段处于恢复状态?

注意:作为一种解决方案,我添加了另一张getContext()支票。

1 个答案:

答案 0 :(得分:0)

使用它。

public class yourFragment extends Fragment {
   Context context

   @Override
   public void onAttach(Context context) {
        this.context = context;
        super.onAttach(context);
   }

   @Override
   public void onDetach() {
        super.onDetach();
        this.context = null;
   }
}