Android viewpager中的三个片段
我有这个问题,如下图所示: 一, 二, 我已经用三个片段完成了一个viewpager,但是当滚动时,我看到其中一个片段,我会看到两个片段 我的理由是: 公共类FragmentProjetSwipePageActivity扩展了FragmentActivity{Android viewpager中的三个片段,android,android-fragments,android-viewpager,Android,Android Fragments,Android Viewpager,我有这个问题,如下图所示: 一, 二, 我已经用三个片段完成了一个viewpager,但是当滚动时,我看到其中一个片段,我会看到两个片段 我的理由是: 公共类FragmentProjetSwipePageActivity扩展了FragmentActivity{ // derived from http://thepseudocoder.wordpress.com/2011/10/05/android-page-swiping-using-viewpager/ // list contains
// derived from http://thepseudocoder.wordpress.com/2011/10/05/android-page-swiping-using-viewpager/
// list contains fragments to instantiate in the viewpager
List<Fragment> fragmentsV1 = new Vector<Fragment>();
// page adapter between fragment list and view pager
private PagerAdapter mPagerAdapter;
// view pager
private ViewPager mPager;
// activity data
public String p2text,p3text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// creating fragments and adding to list
fragmentsV1.add(Fragment.instantiate(this,Page1Fragment.class.getName()));
fragmentsV1.add(Fragment.instantiate(this,Page2Fragment.class.getName()));
fragmentsV1.add(Fragment.instantiate(this,Page3Fragment.class.getName()));
// creating adapter and linking to view pager
mPager = (ViewPager) super.findViewById(R.id.pager1);
this.mPagerAdapter = new PagerAdapter(super.getSupportFragmentManager(),fragmentsV1,this );
mPager.setAdapter(this.mPagerAdapter);
//Set a listener that will be invoked whenever the page changes or is incrementally scrolled.
}
}
PagerAdapter.java
公共类PagerAdapter扩展了FragmentPagerAdapter{
// fragments to instantiate in the viewpager
private List<Fragment> fragments;
FragmentManager fm;
private static int NUM_PAGER_VIEWS = 2;
Context contex;
// constructor
public PagerAdapter(FragmentManager _fm,List<Fragment> fragments) {
super(_fm);
this.fragments = fragments;
fm=_fm;
}
// return access to fragment from position, required override
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
// number of fragments in list, required override
@Override
public int getCount() {
return NUM_PAGER_VIEWS;
//return this.fragments.size();
}
}
谢谢你知道已经有一个名为PagerAdapter的内置类了吗@Enigma FragmentPagerAdapter是PageAdapterWell的扩展,我知道。你的情况正好相反。您正在从FragmentPagerAdapter扩展PagerAdapter。@Enigma抱歉,我不明白,如果我在PageHandler中更改类PagerAdapter的名称,结果是一样的。如何解决上图中的问题?我需要一个活动中有2个视图的viewpager,但每次滚动一个视图,总共有3个视图。