0

使用 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;
        }
    }
            ...

但是这样我必须为每个页面设置一个片段类,并且由于页面只是图像和文本,我认为这可能没有必要。

有没有一种方法可以对所有页面使用相同的片段类,然后为其分配不同的布局?

谢谢

4

1 回答 1

2

有没有一种方法可以对所有页面使用相同的片段类,然后为其分配不同的布局?

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

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

  • newInstance()获取这些参数,将它们放在 a 中Bundle,并Bundle通过setArguments()

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

这可确保您的数据在配置更改后仍然有效。

于 2013-04-01T13:33:24.713 回答