package com.example.viewpagerfragmentdemo;
import java.util.List;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.util.Log;
import android.view.ViewGroup;
public class MyAdapter extends FragmentPagerAdapter {
public FragmentManager fm;
public List<Fragment> list;
public MyAdapter(FragmentManager fm) {
super(fm);
}
public MyAdapter(FragmentManager fm, List<Fragment> list) {
super(fm);
this.fm = fm;
this.list = list;
}
@Override
public Fragment getItem(int position) {
Fragment fragment = null;
Log.i("sssssssssssss", "getItem");
fragment = list.get(position);
Bundle bundle = new Bundle();
bundle.putString("id", "" + position);
fragment.setArguments(bundle);
return fragment;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Fragment instantiateItem(ViewGroup container, int position) {
Fragment fragment = (Fragment) super.instantiateItem(container,
position);
fm.beginTransaction().show(fragment).commit();
return fragment;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// super.destroyItem(container, position, object);
Fragment fragment = list.get(position);
fm.beginTransaction().hide(fragment).commit();
}
}
主要是重写这个两个方法起作用 instantiateItem 和 destroyItem