ViewPager里面的ScrollView没有显示片段

时间:2016-05-06 12:43:39

标签: android android-viewpager android-scrollview fragmentstatepageradapter

我遇到一个奇怪的问题,我有一个有垂直滚动视图的Activity。 ScrollView有8个ViewPagers,每个ViewPager都有片段。当我向下滚动滚动视图到第7个viewpager时,我看到五个pagerIndicator点,但片段在那里不可见。我看到空白的viewpager。

但是,当我将相同的viewpager放在第一或第二位置时,每件事情都可以正常工作,并且片段在不改变任何代码的情况下可见。

我正在使用FragmentStatePagerAdapter在viewpager中显示片段。这是我的FragmentStatePagerAdapter:

then

其中mFragmentList包含要在ViewPager中显示的片段

我只有滚动视图,并且在运行时添加了viewPagers。下面是我在运行时在scrollview中膨胀的布局文件:

static class CompanyFactAdapter extends FragmentStatePagerAdapter {
    private final List<BaseFragment> mFragmentList;

    public CompanyFactAdapter(FragmentManager fm, ArrayList<BaseFragment> fragment) {
        super(fm);
        mFragmentList = fragment;
    }

    @Override
    public Fragment getItem(int position) {

       return mFragmentList.get(position);

    }

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

}

包含scrollView的活动布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content">


<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="@dimen/card_margin"
    android:background="@android:color/white">

    <LinearLayout
        style="@style/Widget.CardContent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">


            <android.support.v4.view.ViewPager
                android:id="@+id/pager_company_fact"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_above="@id/indicator"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:layout_marginTop="10dp" />

               <com.firstrain.ui.widget.CirclePageIndicator
                android:id="@+id/indicator"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:padding="10dp"
                app:fillColor="@android:color/darker_gray"
                app:paddingStart="5dp"
                app:radius="4dp"
                app:strokeColor="@android:color/darker_gray" />

    </LinearLayout>
</android.support.v7.widget.CardView>

0 个答案:

没有答案