【发布时间】:2015-09-30 06:06:51
【问题描述】:
我无法为每个选项卡创建动态布局,我可以通过此构造函数(public MyPagerAdapter(FragmentManager fm, int noOfTabs))动态创建选项卡,但不能为每个片段创建的每个选项卡扩展视图这应该是动态的。
public class MyPagerAdapter extends FragmentPagerAdapter
{
private final String[] TITLES = { "Categories", "Home", "Top Paid", "Top Free", "Top Grossing", "Top New Paid",
"Top New Free", "Trending" };
int noOfTabs;
**public MyPagerAdapter(FragmentManager fm , int noOfTabs)
{
super(fm);
this.noOfTabs = noOfTabs;
}**
/*public MyPagerAdapter(FragmentManager fm)
{
super(fm);
}*/
@Override
public CharSequence getPageTitle(int position) {
return TITLES[position];
}
@Override
public int getCount() {
return noOfTabs; //TITLES.length;
}
@Override
public Fragment getItem(int position) {
return SuperAwesomeCardFragment.newInstance(position);
}
}
我在这里遇到的问题应该是动态的而不是静态的,因为三个片段(FragmentA、FragmentB、FragmentC),它可以是任意数量的片段,具体取决于 int noOfTabs:
@Override
public Fragment getItem(int position) {
Fragment fragment =null;
switch (position) {
case 0:
fragment = new FragmentA();
break;
case 1:
fragment = new FragmentB();
break;
case 2:
fragment = new FragmentC();
break; }
return fragment;
}
如果有人可以帮助我,请提前感谢,因为我在图书馆 PagerSlidingTabStrip 的帮助下使用它。
【问题讨论】:
-
实现动态 FragmentPagerAdapter 的正确方法是遵循以下要点:gist.github.com/Zhuinden/ef743346eda60a314d2a100eeaf069d5
标签: android android-fragments fragmentpageradapter