【发布时间】:2014-04-23 15:24:53
【问题描述】:
我正在附加Activity 的片段(许多片段到FrameLayout),每个片段在onCreateView() 中都有自己的视图。
现在,
如果我旋转屏幕横向/纵向,则调用片段的onCreateView(),而不是调用其附加的活动的onCreate() 方法。因此,视图被渲染了两次。
我希望每次配置更改时都调用 Activity 的 onCreate()。有可能吗?
活动: MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
getSupportFragmentManager().beginTransaction()
.add(R.id.layout_replace, new MyFragment()).commit();
}
片段: MyFragment.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return (ScrollView)inflater.inflate(R.layout.some_layout, container, false);
}
【问题讨论】:
-
旋转时,
Activity被销毁并启动。如果附加了Fragment,则将调用onCreateView()。你能展示你的代码的一部分吗? -
@FlorianMacLanglade 我已经更新了我的示例代码
-
是否需要动态添加片段?如果没有,您可以直接在布局 xml 中声明片段。
-
它必须动态添加
标签: android android-fragments android-activity