//1继承FragmentActivity
public class MainActivity extends FragmentActivity {
private RadioGroup radioGroup;
private ViewPager pager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 2找控件
pager = (ViewPager) findViewById(R.id.pager);
radioGroup = (RadioGroup) findViewById(R.id.radioGroup1);
// 第一个选中
radioGroup.check(radioGroup.getChildAt(0).getId());
// 3创建数据
final ArrayList<Fragment> list = new ArrayList<Fragment>();
Frag01 frag01 = new Frag01();
Frag02 frag02 = new Frag02();
Frag03 frag03 = new Frag03();
Frag04 frag04 = new Frag04();
list.add(frag01);
list.add(frag02);
list.add(frag03);
list.add(frag04);
// 4适配器(注意有参数 记得写 不然就出错啦!!!)
pager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public int getCount() {
return list.size();
}
@Override
public Fragment getItem(int arg0) {
return list.get(arg0);
}
});
// 5联动
// 页面滑动按钮跟着变
pager.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
// 页面换了调用
radioGroup.check(radioGroup.getChildAt(arg0).getId());
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// 正在滑动调用
}
@Override
public void onPageScrollStateChanged(int arg0) {
// 滑动状态改变调用
}
});
// 点击按钮切换界面
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.radio0:
// /切换viewpager页面
pager.setCurrentItem(0);
break;
case R.id.radio1:
pager.setCurrentItem(1);
break;
case R.id.radio2:
pager.setCurrentItem(2);
break;
case R.id.radio3:
pager.setCurrentItem(3);
break;
}
}
});
}
}