我正在尝试实现一个包含 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。
如果您有任何解决方案,请帮助我。