Android基于ViewPager Fragment实现选项卡

2019-12-10 19:50:37王旭

谷歌官方认为,ViewPager应该和Fragment一起使用时,此时ViewPager的适配器是FragmentPagerAdapter,当你实现一个FragmentPagerAdapter,你必须至少覆盖以下方法:

getCount()

getItem()

如果ViewPager没有和Fragment一起,ViewPager的适配器是PagerAdapter,它是基类提供适配器来填充页面ViewPager内部,当你实现一个PagerAdapter,你必须至少覆盖以下方法:

 

 
  1. instantiateItem(ViewGroup, int)  destroyItem(ViewGroup, int, Object) 
  2. getCount()  isViewFromObject(View, Object) 
  3. [java] view plaincopy  package com.example.viewpagernfragment;  
  4. import java.util.ArrayList;   import android.support.v4.app.Fragment;  
  5. import android.support.v4.app.FragmentManager;   import android.support.v4.app.FragmentPagerAdapter;  
  6. public class MyFragmentPagerAdapter extends FragmentPagerAdapter{   ArrayList<Fragment> list;  
  7. public MyFragmentPagerAdapter(FragmentManager fm,ArrayList<Fragment> list) {   super(fm);  
  8. this.list = list;   }  
  9. @Override  public int getCount() {  
  10. return list.size();   }  
  11. @Override  public Fragment getItem(int arg0) {  
  12. return list.get(arg0);   }  
  13. }   [java] view plaincopy 
  14. package com.example.viewpagernfragment;   import android.os.Bundle;  
  15. import android.support.v4.app.Fragment;   import android.view.LayoutInflater;  
  16. import android.view.View;   import android.view.ViewGroup;  
  17. import android.widget.Button;   import android.widget.Toast;  
  18. public class ButtonFragment extends Fragment{   Button myButton;  
  19. @Override  public View onCreateView(LayoutInflater inflater, ViewGroup container,  
  20. Bundle savedInstanceState) {   View rootView = inflater.inflate(R.layout.guide_1, container, false);//关联布局文件  
  21. myButton = (Button)rootView.findViewById(R.id.mybutton);//根据rootView找到button   //设置按键监听事件