Android - 非UI片段中没有上下文

时间:2015-01-21 16:14:17

标签: android android-fragments

在我的项目中,我将一个适配器D放入一个非UI片段C中,进入一个UI片段B,其自身由一个活动A实例化:< / p>

  

活动A&gt; UI片段B&gt;非UI片段C&gt;适配器D

使用C保留非UI片段setRetainInstance(true)以管理HTTP请求和其他内容。

当发生配置更改时,使用UI片段A销毁活动B,但使用其适配器C保留非UI片段D

我的问题是,当D.getView(position, view, parent) ListView调用适配器B方法来扩充其内容时,我没有non-NULL Context可用于扩充视图和执行其他操作动作。我试图通过getActivityparent.getContext来吸引他。

我想找到我的错误......


编辑:

我尝试使用C而不是B将非UI片段getChildFragmentManager()附加到UI片段getFragmentManager()

public final FragmentManager getChildFragmentManager()
  

返回一个私有的FragmentManager,用于放置和管理此片段内的片段。

我获得:

FATAL EXCEPTION: main
...
Caused by: java.lang.IllegalStateException:
Can't retain fragements that are nested in other fragments

所以我认为这是不可能的?

1 个答案:

答案 0 :(得分:0)

通过以下方式验证您的电话:

if(!isAdded() || isDetached){
    return;
}

您可能正在使用线程或处理程序调用getView,该线程或处理程序仅在您的片段已经分离时才会完成。