我getChildFragmentManager()
在我的onCreate()
方法中以编程方式添加了一个 SupportMapFragment。
当我在活动关闭后重新打开应用程序时,应用程序似乎正在渲染SupportMapFragment
没有标记的老孩子。旧的子片段也不能交互。
如何解决此生命周期问题SupportMapFragment
?我是否需要调用特定的分离方法或类似的东西?
我getChildFragmentManager()
在我的onCreate()
方法中以编程方式添加了一个 SupportMapFragment。
当我在活动关闭后重新打开应用程序时,应用程序似乎正在渲染SupportMapFragment
没有标记的老孩子。旧的子片段也不能交互。
如何解决此生命周期问题SupportMapFragment
?我是否需要调用特定的分离方法或类似的东西?
问题与我处理子片段的方式有关。
每次父片段调用onCreate
子片段时都会重新创建。
我做了以下处理我的孩子片段,但可能有更好的方法:
private static final String TAG_FRAGMENT_MAP = "TagFragmentMap";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// ...
if (savedInstanceState == null) {
// create the fragments for the first time
ft.add(R.id.view_flip, new SupportMapFragment(), TAG_FRAGMENT_MAP);
ft.commit();
}
}
// ...
public void onViewStateRestored(Bundle savedInstanceState) {
super.onViewStateRestored(savedInstanceState);
mMapFragment = (SupportMapFragment)findFragmentByTag(TAG_FRAGMENT_MAP);
}