2

2 つの ViewPager を含むアクティビティを実装しようとしています。各 ViewPager は独立してスワイプする必要があります。だから私は、ChaildとしてLinearLayoutを持つ私の特許レイアウトとしてScrollViewを取っています。その線形レイアウトに ViewPagers を追加しました。ただし、最初の ViewPager のみが表示され、2 番目の 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;

            }
        }

    });

}

}

これにより、以下のスクリーンショットのように出力されます。

ここに画像の説明を入力

2 番目の View Pager は表示されません。

解決策があれば助けてください。

4

0 に答える 0