写几个 按钮 和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(); }