当我旋转第二个片段时,它会回到第一个片段

When I rotate the second fragment, it goes back to the first

我有一个 activity,其 FrameLayout 包含 3 个片段。

当我横向旋转第二个片段时,我的 activity 重新加载并且我看到了第一个片段。

我怎样才能避免这个问题?

我的活动:

 <FrameLayout
    android:id="@+id/viewPager"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
</FrameLayout>

MyActivity.java

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_system_signup_user);
    SignUpFragment fragmentOne = new SignUpFragment();
    getSupportFragmentManager().beginTransaction().add(R.id.viewPager, fragmentOne).commit();
}

重建方法 onCreate 再次调用后,要防止将片段添加到容器中,您可以这样做:

...
if (savedInstanceState == null) {
            SignUpFragment fragmentOne = new SignUpFragment();
            getSupportFragmentManager().beginTransaction().add(R.id.viewPager, fragmentOne).commit();
        }
...