0

我的应用程序包含两个片段。

我的 Android 清单文件包含以下行:

"android:configChanges="orientation|screenSize"

我需要第二个片段。我不希望将其 onCreateView() 或其他方法称为方向更改。

但是我的第一个片段需要在方向改变时调用 onCreateView() 。由于清单文件包含上述行,因此不会调用 onCreateView() 方法。任何人都可以帮我解决这个问题,以便在特定片段的方向发生变化时调用 onCreateView() 吗?

4

1 回答 1

0

我相信setRetainInstance()是您需要的功能。

从文档:

控制是否在 Activity 重新创建期间(例如从配置更改)保留片段实例。这只能与不在后台堆栈中的片段一起使用。如果设置,片段生命周期将在重新创建活动时略有不同:

  • onDestroy() 将不会被调用(但 onDetach() 仍然会被调用,因为片段正在与其当前活动分离)。

  • onCreate(Bundle) 不会被调用,因为片段没有被重新创建。

  • onAttach(Activity) 和 onActivityCreated(Bundle) 仍将被调用。

于 2013-07-06T11:52:33.267 回答