MainActivity代码:
public class MainActivity extends FragmentActivity implements OnClickListener, OnPageChangeListener{ private List<Fragment> list=new ArrayList<Fragment>(); private FragmentManager fm; private MyFragment1 myFragment1; private MyFragment2 myFragment2; private MyAdapter adapter; private ViewPager vp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); fm = getSupportFragmentManager(); myFragment1 = new MyFragment1(); FragmentTransaction fs = fm.beginTransaction(); fs.add(R.id.ft, myFragment1); fs.commit(); } private void initView() { // TODO Auto-generated method stub Button bt1=(Button) findViewById(R.id.bt1); Button bt2=(Button) findViewById(R.id.bt2); vp = (ViewPager) findViewById(R.id.ft); list.add(new MyFragment1()); list.add(new MyFragment2()); adapter=new MyAdapter(getSupportFragmentManager()); adapter.setList(list); vp.setAdapter(adapter); bt1.setOnClickListener(this); bt2.setOnClickListener(this); vp.setOnPageChangeListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub int ID=v.getId(); switch (ID) { case R.id.bt1: System.out.println("11111111111111111111"); vp.setCurrentItem(0); break; case R.id.bt2: System.out.println("2222222222222222222222"); vp.setCurrentItem(1); break; } } @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int arg0) { // TODO Auto-generated method stub FragmentTransaction fs = fm.beginTransaction(); switch (arg0) { case 0: vp.setCurrentItem(0); break; case 1: vp.setCurrentItem(1); break; default: break; } } }MyAdapter适配器代码:
public class MyAdapter extends FragmentPagerAdapter{ private List<Fragment> list; public MyAdapter(FragmentManager fm) { super(fm); } public void setList(List<Fragment> list){ this.list=list; } @Override public Fragment getItem(int arg0) { // TODO Auto-generated method stub return list.get(arg0); } @Override public int getCount() { // TODO Auto-generated method stub return list.size(); } }xml布局代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.myfragmentchuanzhi.MainActivity" > <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/ft" android:layout_above="@+id/ll" /> <LinearLayout android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/ll" android:orientation="horizontal" android:layout_alignParentBottom="true" > <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="第一个" android:id="@+id/bt1" /> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" android:text="第二个" android:id="@+id/bt2" /> </LinearLayout> </RelativeLayout>