package cn.eoe.app.adapter; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentStatePagerAdapter; import android.view.ViewGroup; import cn.eoe.app.entity.BlogsCategoryListEntity; import cn.eoe.app.entity.CategorysEntity; import cn.eoe.app.entity.NewsCategoryListEntity; import cn.eoe.app.entity.WikiCategoryListEntity; import cn.eoe.app.view.BlogFragment; import cn.eoe.app.view.HttpErrorFragment; import cn.eoe.app.view.NewsFragment; import cn.eoe.app.view.WikiFragment; public class BasePageAdapter extends FragmentStatePagerAdapter { public ArrayList<Fragment> mFragments = new ArrayList<Fragment>();; public List<CategorysEntity> tabs = new ArrayList<CategorysEntity>(); private Activity mActivity; public BasePageAdapter(FragmentActivity activity) { super(activity.getSupportFragmentManager()); this.mActivity = activity; } public void addFragment(List<CategorysEntity> mList, List<Object> listObject) { tabs.addAll(mList); for (int i = 0; i < listObject.size(); i++) { Object object = listObject.get(i); if (object instanceof NewsCategoryListEntity) { addTab(new NewsFragment(mActivity, ((NewsCategoryListEntity) listObject.get(i)))); } else if (object instanceof BlogsCategoryListEntity) { addTab(new BlogFragment(mActivity, ((BlogsCategoryListEntity) listObject.get(i)))); } else if (object instanceof WikiCategoryListEntity) { addTab(new WikiFragment(mActivity, ((WikiCategoryListEntity) listObject.get(i)))); } } } /** * 只加载listview不包含 tabs * @param listObject */ public void addFragment( List<Object> listObject) { for (int i = 0; i < listObject.size(); i++) { Object object = listObject.get(i); if (object instanceof NewsCategoryListEntity) { addTab(new NewsFragment(mActivity, ((NewsCategoryListEntity) listObject.get(i)))); } else if (object instanceof BlogsCategoryListEntity) { addTab(new BlogFragment(mActivity, ((BlogsCategoryListEntity) listObject.get(i)))); } else if (object instanceof WikiCategoryListEntity) { addTab(new WikiFragment(mActivity, ((WikiCategoryListEntity) listObject.get(i)))); } } } public void addNullFragment() { CategorysEntity cate = new CategorysEntity(); cate.setName("连接错误"); tabs.add(cate); addTab(new HttpErrorFragment()); } public void Clear() { mFragments.clear(); tabs.clear(); } public void addTab(Fragment fragment) { mFragments.add(fragment); notifyDataSetChanged(); } @Override public CharSequence getPageTitle(int position) { return tabs.get(position).getName(); } @Override public Fragment getItem(int arg0) { return mFragments.get(arg0); } @Override public int getCount() { return mFragments.size(); } @Override public int getItemPosition(Object object) { return POSITION_NONE; } // @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub super.destroyItem(container, position, object); } }