片段与活动分离而没有任何明显的原因

时间:2017-04-24 13:06:19

标签: android android-fragments

我有一个片段,该片段包含一个ViewPager。

如果在片段中使用来自服务器的数据触发回调,则有时片段会丢失其Activity。

我在尝试获取片段的活动时遇到以下错误:

  

java.lang.IllegalStateException:片段尚未附加。

是什么导致这种情况?

1 个答案:

答案 0 :(得分:0)

在Http网络库(如Retrofit)中,回调(onResponse()OnError())在MainThread上运行而不知道Fragment是否附加到Activity不是吗?

因此,如果您尝试执行UI操作,它将通过java.lang.IllegalStateException导致应用程序崩溃。

<强>解决方案: - 您可以在执行任何操作之前检查是否添加了Fragment

if (isAdded()) {
   //.. perform your operation here...
}