Viewpager页面具有不同的布局但相同的片段类

时间:2013-04-01 13:23:28

标签: android android-fragments android-viewpager android-fragmentactivity

使用ViewPager,我正在制作一份指南,告诉用户如何使用我的应用。

这就是我目前添加/设置页面的方式:

    ...
private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
        case 0:
            return new Guide_fragment();
        case 1:
            return new Guide_fragment_2();

        case 2,3,4 etc.

        default:
            return null;
        }
    }
            ...

但是这样我必须为每个页面都有一个片段类,并且因为页面只是图像和文本,所以我认为它可能没有必要。

有没有办法可以为所有页​​面使用相同的片段类,然后只为它分配不同的布局?

由于

1 个答案:

答案 0 :(得分:2)

  

有没有办法可以为所有页​​面使用相同的片段类,然后只为它分配不同的布局?

不确定。将数据传递到片段中,指示要显示的内容,通常通过工厂模式:

  • 创建一个静态newInstance()方法,该方法将您可能通常传递给片段构造函数的数据

  • newInstance()获取这些参数,将它们放在Bundle中,并通过BundlesetArguments()附加到新构建的片段实例

  • 您的片段在需要此数据时,会调用getArguments()来检索Bundle

这可确保您的数据在配置更改后继续存在。