ViewPager + Fragment进行混用初入门
先创建四个布局,用来模拟四个不同的界面,然后创建四个
类对象,每个对象都是继承于Fragment。复写
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.tab01, container, false); }
将事先创建好的布局作为当前这个类的布局文件。
创建一个Fragment的适配器。这里是创建了一个继承于FragmentPagerAdapter
的类对象。将必要的参数添加到构造方法里面去。
private ArrayList<Fragment> list; public MyFragmentPagerAdapter(FragmentManager fm, ArrayList<Fragment> list) { super(fm); this.list = list; } list是要传入的数据对象的集合。 将其中的方法进行复写,一个是根据下标获取相对应的对象,一个是获取当前数据的大小。 public Fragment getItem(int arg0) { return list.get(arg0); } @Override public int getCount() { return list.size(); }
在调用界面之间,先创建四个Fragment对象,然后将四个对象分别创建为自己定义的类对象, 同理,自己定义的类对象也是继承于Fragment。然后再创建一个ViewPager pager,当作是一个数 据容器。MyFragmentPagerAdapter是自己定义的一个适配器。 将实例化的四个对象存放于一个ArrayList<Fragment> fragments当中,然后把这个作为参数, 构建一个MyFragmentPagerAdapter对象。 adapter = new MyFragmentPagerAdapter(getSupportFragmentManager(), fragments); 然后pager.setAdapter(adapter),将这个数据适配器传入pager当中,充当pager的数据源对象,就 可以显示在界面之上。