package cn.zhaiyifan.github.ui;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.view.ViewGroup;
import java.util.List;
import cn.zhaiyifan.github.ui.base.FragmentProvider;
public class PagerFragmentAdapter extends FragmentStatePagerAdapter implements FragmentProvider {
private List<Fragment> mFragments;
private List<String> mTitles;
private Fragment selected;
public PagerFragmentAdapter(FragmentManager fm, List<Fragment> fragments, List<String> titles) {
super(fm);
mFragments = fragments;
mTitles = titles;
}
@Override
public void setPrimaryItem(ViewGroup container, int position, Object object) {
super.setPrimaryItem(container, position, object);
boolean changed = false;
if (object instanceof Fragment) {
changed = object != selected;
selected = (Fragment) object;
} else {
changed = object != null;
selected = null;
}
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mTitles.get(position);
}
@Override
public Fragment getSelected() {
return selected;
}
}