【发布时间】:2020-03-28 08:05:54
【问题描述】:
我有一个 ViewPager 和一些片段。 我可以将所有片段一起添加到 ViewPager 中以查看整体。 例如: 我有名为 Apple、Orange、Banana、Mango、Grapes、Cherry 的片段:6 个标签 将向用户提供选择这些水果中的任何三种的选项。 所以让用户选择了 Apple、Banana 和 Grapes 现在 ViewPager 应该只显示 Apple、Banana 和 Grapes 的 3 个标签。
我该怎么做?我可以将整个水果设置为多个选项卡。但根据选择,需要删除不需要的标签或只需要添加想要的标签。
我有这个代码作为适配器:
public class FruitFragAdapter extends FragmentStatePagerAdapter
{
public FruitFragAdapter(FragmentManager fm)
{
super(fm);
}
public Fragment getItem(int position)
{
switch (position)
{
case 0: return new AppleFragment();
case 1: return new OrangeFragment();
case 2: return new BananaFragment();
case 3: return new MangoFragment();
case 4: return new GrapesFragment();
case 5: return new CherryFragment();
}
return null;
}
@Override
public int getCount()
{
return 6;
}
public CharSequence getPageTitle(int position)
{
switch (position)
{
case 0: return "Apple";
case 1: return "Orange";
case 2: return "Banana";
case 3: return "Mango";
case 4: return "Grapes";
case 5: return "Cherry";
default: return null;
}
}
}
【问题讨论】:
-
我建议您创建一个包含片段标题和片段类名称的数据类,一个实例化片段的方法 (Class.forName(className).newInstance())。创建尽可能多的实例与您的片段匹配,将它们存储在 mutableList 中,让用户删除项目,对它们进行排序并将其作为参数传递给您的 FruitFragAdapter,其余的是根据所选片段列表对您的代码进行细微修改。
-
medium.com/@mujjtahidah/… 提到这个。这更容易。
标签: java android android-fragments android-viewpager fragment