2

我正在尝试实现一个包含 2 个 ViewPagers 的 Activity。每个 ViewPager 都应该独立滑动。所以我将 ScrollView 作为我的专利布局,它有一个 LinearLayout 作为 Chaild。我已将 ViewPagers 添加到该线性布局中。但是只有第一个 ViewPager 被显示,第二个没有被显示。我为此做了很多工作,并在这里尝试了不同的解决方案。但没有什么对我有用。这是我的 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"
android:fillViewport="true">

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#ffffffff"
    android:orientation="vertical"
    android:weightSum="4">

     <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginBottom="30dip"
        android:text="trying to add First Fragment list"
        android:layout_weight="1" />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="fill_parent"
        android:layout_height="200dip"
        android:layout_weight="1" />

     <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dip"
        android:text="trying to add second Fragment list"
        android:layout_weight="1" />

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager1"
        android:layout_width="fill_parent"
        android:layout_height="200dip"
        android:layout_marginTop="30dip"
        android:layout_weight="1" /> 
</LinearLayout>

</ScrollView>

这是我的activity.java

public class MainActivity extends FragmentActivity {

private ViewPager _mViewPager, _mViewPager1;
private ViewPagerAdapter _adapter, _adapter1;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    setUpView();
//  setTab();
}

private void setUpView() {
    _mViewPager = (ViewPager) findViewById(R.id.viewPager);
    _adapter = new ViewPagerAdapter(getApplicationContext(),
            getSupportFragmentManager());

    _mViewPager.setAdapter(_adapter);
    _mViewPager.setCurrentItem(0);


    _mViewPager1 = (ViewPager) findViewById(R.id.viewPager1);
    _adapter1 = new ViewPagerAdapter(getApplicationContext(),
            getSupportFragmentManager());
    _mViewPager1.setAdapter(_adapter1);
    _mViewPager1.setCurrentItem(0);
}

private void setTab() {
    _mViewPager.setOnPageChangeListener(new OnPageChangeListener() {

        @Override
        public void onPageScrollStateChanged(int position) {

        }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) {
        }

        @Override
        public void onPageSelected(int position) {
            // TODO Auto-generated method stub
            switch (position) {
            case 0:
                findViewById(R.id.first_tab).setVisibility(View.VISIBLE);
                findViewById(R.id.second_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab1).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab2).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab3).setVisibility(View.INVISIBLE);
                break;

            case 1:
                findViewById(R.id.first_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab).setVisibility(View.VISIBLE);
                findViewById(R.id.second_tab1).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab2).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab3).setVisibility(View.INVISIBLE);
                break;
            case 2:
                findViewById(R.id.first_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab1).setVisibility(View.VISIBLE);
                findViewById(R.id.second_tab2).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab3).setVisibility(View.INVISIBLE);
                break;

            case 3:
                findViewById(R.id.first_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab1).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab2).setVisibility(View.VISIBLE);
                findViewById(R.id.second_tab3).setVisibility(View.INVISIBLE);
                break;
            case 4:
                findViewById(R.id.first_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab1).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab2).setVisibility(View.INVISIBLE);
                findViewById(R.id.second_tab3).setVisibility(View.VISIBLE);

                break;

            }
        }

    });

}

}

有了这个输出就像下面的截图一样。

在此处输入图像描述

不显示第二个 View Pager。

如果您有任何解决方案,请帮助我。

4

0 回答 0