片段onCreateView多次调用

时间:2014-04-23 15:24:53

标签: android android-fragments android-activity

我正在附加FrameLayout Activity的片段(许多片段到onCreateView()),每个片段都有自己在onCreateView()中膨胀的视图。

现在,

如果我旋转屏幕Landscape / Protrait,则会调用片段的onCreate(),而不是调用其附加的Activity onCreate()方法。因此,视图会呈现两次。

我希望每次有配置更改时都调用Activity @Override protected void onCreate(Bundle savedInstanceState) { getSupportFragmentManager().beginTransaction() .add(R.id.layout_replace, new MyFragment()).commit(); } 。有可能吗?

活动: MainActivity.java

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {         
    return (ScrollView)inflater.inflate(R.layout.some_layout, container, false);
}

片段: MyFragment.java

{{1}}

1 个答案:

答案 0 :(得分:22)

修正了这个!!

FragmentTransaction的实际问​​题是我使用.add()添加片段,导致视图被填充两次。

改为使用:

.replace(R.id.yourId, fragment)