package com.dl7.mvp.adapter;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.support.v4.view.PagerAdapter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
* Created by long on 2016/6/2.
* ViewPager适配器
*/
public class ViewPagerAdapter extends FragmentStatePagerAdapter {
List<String> mTitles;
List<Fragment> fragments;
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
fragments = new ArrayList<>();
mTitles = new ArrayList<String>();
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mTitles.get(position);
}
@Override
public int getItemPosition(Object object) {
return PagerAdapter.POSITION_NONE;
}
public void setItems(List<Fragment> fragments, List<String> mTitles) {
this.fragments = fragments;
this.mTitles = mTitles;
notifyDataSetChanged();
}
public void setItems(List<Fragment> fragments, String[] mTitles) {
this.fragments = fragments;
this.mTitles = Arrays.asList(mTitles);
notifyDataSetChanged();
}
public void addItem(Fragment fragment, String title) {
fragments.add(fragment);
mTitles.add(title);
notifyDataSetChanged();
}
public void delItem(int position) {
mTitles.remove(position);
fragments.remove(position);
notifyDataSetChanged();
}
public int delItem(String title) {
int index = mTitles.indexOf(title);
if (index != -1) {
delItem(index);
}
return index;
}
public void swapItems(int fromPos, int toPos) {
Collections.swap(mTitles, fromPos, toPos);
Collections.swap(fragments, fromPos, toPos);
notifyDataSetChanged();
}
public void modifyTitle(int position, String title) {
mTitles.set(position, title);
notifyDataSetChanged();
}
}