ViewPager 实现简单左右滑动

写几个 按钮  和fragment 
在主页面
用到: View.OnClickListener, ViewPager.OnPageChangeListener
//private Button[] btnArgs;
private ArrayList<Fragment> fragments1;
//private int[] widthArgs;

viewpager.setOnPageChangeListener(this);
dian3.setOnClickListener(this);
dian2.setOnClickListener(this);
dian1.setOnClickListener(this);

//btnArgs = new Button[]{dian1,dian2,dian3 };

fragments1 = new ArrayList<Fragment>();
fragments1.add(new FragmentDianCai());
fragments1.add(new FragmentPingJia());
fragments1.add(new FragmentPingStore());

MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getSupportFragmentManager(),fragments1);
viewpager.setAdapter(adapter);

@Override
public void onClick(View whichbtn) {
    switch (whichbtn.getId()) {
        case R.id.dian1:
            viewpager.setCurrentItem(0);
            break;
        case R.id.dian2:
            viewpager.setCurrentItem(1);
            break;
        case R.id.dian3:
            viewpager.setCurrentItem(2);
            break;
    }
}

@Override
public void onPageScrollStateChanged(int arg0) {
}

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

@Override
public void onPageSelected(int arg0) {
   // if(widthArgs==null){
   //     widthArgs = new int[]{dian1.getWidth(),
    //        dian2.getWidth(),
   //         dian3.getWidth(),
   //  };
  //  }
}

写一个  fragment的适配器  类  :    继承fragmentPagerAdapter

private List<Fragment> list;

public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<Fragment> list){
    super(fm);
    this.list = list;
}

@Override
public Fragment getItem(int arg0) {
    return list.get(arg0);
}

@Override
public int getCount() {
    return list.size();
}



版权声明:本文为houyingshang原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。