我想在viewpager中多次使用一個片段,我試圖使用ViewPager構建動態更新的UI。我想要使用相同的設計,基本上每個頁面具有不同數據的相同片段,但我不知道如何執行此操作。任何建議? 這是可能適配器,FragmentActivity和片段在viewpager中多次使用一個片段
public MonPagerAdapter(FragmentManager fm, List<Fragment>fragments)
{
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position)
{
return this.fragments.get(position);
}
@Override
public int getCount()
{
return this.fragments.size();
}
@SuppressWarnings("deprecation")
@Override
public Object instantiateItem(View pager, int position)
{
//CalendrierMens cm = new CalendrierMens();
CalendrierMens cm = new CalendrierMens();
cm.date_actuelle.set(cm.date_actuelle.get(Calendar.MONTH), 1);
cm.updateTable(cm.date_actuelle.get(Calendar.YEAR), cm.date_actuelle.get(Calendar.MONTH), cm.date_actuelle.get(Calendar.DAY_OF_MONTH));
((ViewPager)pager).addView(CalendrierMens.newInstance().getView());
return super.instantiateItem(pager, position);
}
super.onActivityCreated(savedInstanceState);
mois_annee = (TextView)getActivity().findViewById(R.id.mois_annee);
mois_annee.setText(getMonthForInt(date_actuelle.get(Calendar.MONTH)+1)+" "+date_actuelle.get(Calendar.YEAR));
this.creerGrille();
this.updateTable(date_actuelle.get(Calendar.YEAR), date_actuelle.get(Calendar.MONTH), date_actuelle.get(Calendar.DAY_OF_MONTH));
}
public static CalendrierMens newInstance()
{
CalendrierMens fragment = new CalendrierMens();
//Bundle args = new Bundle();
//args.put
//fragment.setArguments(args);
return fragment;
}
super.onCreate(savedInstanceState); super.setContentView(R.layout.viewpager);
// Création de la liste des Fragments que fera défiler le PagerAdapter
List<Fragment>fragments = new Vector<Fragment>();
// Ajout des Fragments dans la liste
fragments.add(Fragment.instantiate(this,CalendrierMens.class.getName()));
//fragments.add(Fragment.instantiate(this,PageMilieuFragment.class.getName()));
//fragments.add(Fragment.instantiate(this,PageDroiteFragment.class.getName()));
// Création de l'adapter qui s'occupera de l'affichage de la liste des Fragments
this.monPagerAdapter = new MonPagerAdapter(super.getSupportFragmentManager(), fragments);
ViewPager pager = (ViewPager) super.findViewById(R.id.viewpager);
// Affectation de l'adapter au ViewPager
pager.setAdapter(this.monPagerAdapter);
我創建一個包含我的月曆的代碼片段,fragmentActivity是管理我的Viewpageradapter,並繼承FragmentPagerAdapter –
適配器,這是我的適配器的代碼:public Object instantiateItem(View pager,int position) \t { \t \t // CalendrierMens cm = new CalendrierMens(); \t \t CalendrierMens cm = new CalendrierMens(); \t \t cm.date_actuelle.set(cm.date_actuelle.get(Calendar.MONTH),1); (cmdate_actuelle.get(Calendar.YEAR),cm.date_actuelle.get(Calendar.MONTH),cm.date_actuelle.get(Calendar.DAY_OF_MONTH));或者使用cm.date_actuelle.get(Calendar.MONTH),cm.date_actuelle.get(Calendar.DAY_OF_MONTH) ((ViewPager)pager).addView(CalendrierMens.newInstance()。getView()); \t \t return super.instantiateItem(pager,position); \t} –
編輯你的問題和帖子相關的代碼片斷 – Blackbelt