一、来几个Fragment(eclipse)
1.继承Fragment并覆写onCreateView方法
public class ChatFragment extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub
return inflater.inflate(R.layout.frag_chat, container,false);
}
}
2.Activity要继承FragmentActivity
二、ViewPager
1.适配器继承FragmentPagerAdapter
public class VpMainAdapter extends FragmentPagerAdapter{
private Fragment[] frags;
public VpMainAdapter(FragmentManager fm , Fragment[] frags) {
super(fm);
this.frags=frags;
}
@Override
public Fragment getItem(int arg0) {
return frags[arg0];
}
@Override
public int getCount() {
return frags.length;
}
}
2.Activity中设置好适配器
private ViewPager vp_main;
private Fragment[] frags={new ChatFragment(),new FriendsFragment(),new MeFragment()};
private VpAdapter vp_adapter;
private FragmentManager manager;
private void initData() {
manager=getSupportFragmentManager();
vp_adapter=new VpMainAdapter(manager, frags);
vp_main.setAdapter(vp_adapter);
}
3.通过RadioButton改变Fragment页面
// 点击RadioButton改变ViewPager的页面
rg_choice_main.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.rb_chat_main:
vp_main.setCurrentItem(0);
break;
case R.id.rb_friends_main:
vp_main.setCurrentItem(1);
break;
case R.id.rb_me_main:
vp_main.setCurrentItem(2);
break;
}
}
});
// 滑动ViewPager改变RadioButton被选中状态
vp_main.setOnPageChangeListener(new OnPageChangeListener() {
@Override
public void onPageSelected(int arg0) {
switch (arg0) {
case 0:
rb_chat_main.setChecked(true);
break;
case 1:
rb_friends_main.setChecked(true);
break;
case 2:
rb_me_main.setChecked(true);
break;
}
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
@Override
public void onPageScrollStateChanged(int arg0) {
}
});