Android:在片段中发出网络请求,处理配置更改

时间:2014-04-07 23:19:34

标签: android rest networking fragment tablet

目前在应用程序中我正在处理网络请求是使用无头保留片段(引用:1 2)内的ASyncTasks来处理设备轮换等感觉非常hacky(片段不应该是“可重用的UI组件”吗?)但是就像宣传的那样工作。到目前为止一切都很好。

现在的问题是我正在修改应用程序以支持平板电脑,这意味着将大多数活动转换为片段。目前,进行API调用的活动尝试在配置更改后重新附加其“工作人员片段”,以查看API调用是否已在进行中或已经完成。

当Activity转换为Fragment时,这不起作用,因为它将访问其主机活动的片段管理器 - 可能托管多个片段!

经过一些研究后,看起来我可以使用API​​ 17中引入的嵌套片段(https://developer.android.com/reference/android/app/Fragment.html#getChildFragmentManager())来继续这种方法。对我而言,这感觉有点失控 - 必须有一个更简单的方法。

长话短说 - 从优雅处理设备配置更改的片段进行API调用的简单方法是什么?我想大多数平板电脑应用就是这样做的;所以,如果你已经建立了一个平板电脑应用程序,你怎么去做?

1 个答案:

答案 0 :(得分:0)

请查阅

Fragment#setRetainInstanceState(true)
通过这种方式,您可以确保在配置更改中保留Fragment。