點擊個個tab1更換pageadapter的值實現數據的更新。通過繼承fragmentpageadpater你會發現使用起來很方便。具體fragmentpageradapter怎麼用?網上很多看客可以去搜一下。
public class KindNameAdapter extends FragmentPagerAdapter { private Context context; private List<KindGoodsCgChildBean> data;//分類頁的type數據 private List<CategoryBean> categoryBeanList;//關注頁面的type數據deng private List<Fragment> fragmentList; private FragmentManager fm; public KindNameAdapter(FragmentManager fm, Context context, List<KindGoodsCgChildBean> data, List<Fragment> fragmentList) { super(fm); this.context = context; this.data = data; this.fragmentList = fragmentList; this.fm = fm; } public KindNameAdapter(FragmentManager fm, List<CategoryBean> categoryBeanList, List<Fragment> fragmentList) { super(fm); this.categoryBeanList = categoryBeanList; this.fragmentList = fragmentList; this.fm = fm; } @Override public Fragment getItem(int position) { return fragmentList.get(position); } @Override public int getItemPosition(Object object) { return POSITION_NONE; } @Override public int getCount() { if (data == null) { return categoryBeanList.size(); } else { return data.size(); } } @Override public CharSequence getPageTitle(int position) { if (data == null) { return categoryBeanList.get(position).productCategoryName; } else { return data.get(position).categoryName; } } public void setFragmentsAndData(List<Fragment> fragmentList, List<KindGoodsCgChildBean> data) { if(this.fragmentList != null){ FragmentTransaction ft = fm.beginTransaction(); for(Fragment f:this.fragmentList){ ft.remove(f); } ft.commit(); ft=null; fm.executePendingTransactions(); } this.fragmentList = fragmentList; this.data = data; notifyDataSetChanged(); } }