为什么 inside ViewPager 在 ViewPager inside ViewPager case 中丢失页面?

Why inside ViewPager lost pages in ViewPager inside ViewPager case?

我有一个奇怪的错误,当我在外部 viewpager 中滑动超过 2 页时,它会在 viewPager 中消失。 (viewpager 中的限制为 1) 如果我只向左滑动一页或向右滑动一页就可以了。当我滑出限制并且页面被丢弃并且必须重新创建时,就会出现问题。如何解决?我不能增加太多限制。 :(

我有:

//layout/outside.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white">
        <android.support.v4.view.ViewPager
            android:id="@+id/outside_viewpager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
</FrameLayout>

和:

//layout/inside.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white">

    <android.support.v4.view.ViewPager
        android:id="@+id/inside_viewpager"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" />

        <TextView         
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>
</LinearLayout>

private static class InsidePagerAdapter 扩展了 FragmentPagerAdapter {

    private Context context;
    private final List<Element> mElements;

public InsidePagerAdapter(Context context, FragmentManager fragmentManager, List<Element> elements) {
    super(fragmentManager);
    this.context = context;
    mElements = elements;
}

@Override
public int getCount() {
    return mElements.size();
}

@Override
public InsideFragment getItem(int position) {
    return InsideFragment.newInstance(position);//InsideFragment uses layout/inside.xml
}

}

我修好了。对于有同样问题的人。 当我创建 InsidePagerAdapter 和 OutsidePageAdapter 时,我必须传递 getChildFragmentManager() 而不是 getFragmentManager()