如何将多个ViewPagers放入ScrollView?

kib*_*Net 3 android scrollview swipe android-viewpager

我正在尝试实现一个包含ViewPagers列表的布局.每个ViewPager都可以独立滑动.请参阅下面的图片链接.

布局图片

我尝试使用ScrollView和一个带有ViewPagers的LinearLayout,但我只显示了一个ViewPager.甚至可以在一个屏幕上获得几个ViewPagers吗?

我的代码到目前为止: main.xml

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager2"
            android:layout_width="wrap_content"
            android:layout_height="100dp" />

        <android.support.v4.view.ViewPager
            android:id="@+id/viewpager3"
            android:layout_width="wrap_content"
            android:layout_height="100dp" />
    </LinearLayout>

</ScrollView>
Run Code Online (Sandbox Code Playgroud)

主要活动

public class MainActivity extends Activity{
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ViewPagerAdapter adapter2 = new ViewPagerAdapter( this );
        ViewPager pager = (ViewPager)findViewById( R.id.viewpager2 );
        pager.setAdapter( adapter2 );

        ViewPagerAdapter adapter3 = new ViewPagerAdapter( this );
        ViewPager pager3 =
            (ViewPager)findViewById( R.id.viewpager3 );
        pager3.setAdapter( adapter3 );   
    }

}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?谢谢!编辑:这段代码实际上有效!

jay*_*kay 12

使用多个ViewPager确实有些可疑.我正在膨胀几个视图,每个视图都持有一个ViewPager,只有第一个ViewPager被填充了来自其适配器的数据.但是,如果我给每个ViewPager一个唯一的id,那么所有这些都会被填充.

我有一个容器,其唯一的子项是ViewPager:

ViewPager pager = (ViewPager) pagerContainer.getChildAt(0);
         pager.setId(i);
Run Code Online (Sandbox Code Playgroud)

其中i是循环的正索引.

  • 对我来说绝对是正确的答案.让我疯了几天,我只是无法理解为什么第一个下方所有其他观看者的片段都没有显示!谢谢! (2认同)