1

我已经fragment用 UI 和AsyncTask. 对于无头Fragment,建议Fragment与 setRetainInstance() 方法结合使用。Fragment我的问题是,如果有 UI 和后台进程,在这种情况下如何保存有关方向更改的数据。感谢您的回复。

4

1 回答 1

2

使用 setRetainInstance(true) 时,orientationChange 期间不会调用以下方法。

  • onCreate(仅在创建片段时调用)
  • onDestroy(仅在活动被销毁时调用(例如主页按钮等)

另一个生命周期将被调用,例如:

  • onCreateView
  • 恢复
  • ...

如果你想保留一个对象,在 onCreate 中创建它并在 onDestroy 中处理逻辑来处理底层活动的销毁。当定向发生时,该对象将保持不变。无需捆绑它或将其保存在本地某个地方。

只是关于标题的注释:您不会保留视图本身,当方向更改发生时,这些视图应该被销毁并重新创建。但是可以保留表示视图状态的对象。

于 2013-10-24T10:52:14.823 回答