使用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;
}
}
...
但是这样我必须为每个页面都有一个片段类,并且因为页面只是图像和文本,所以我认为它可能没有必要。
有没有办法可以为所有页面使用相同的片段类,然后只为它分配不同的布局?
由于
答案 0 :(得分:2)
有没有办法可以为所有页面使用相同的片段类,然后只为它分配不同的布局?
不确定。将数据传递到片段中,指示要显示的内容,通常通过工厂模式:
创建一个静态newInstance()
方法,该方法将您可能通常传递给片段构造函数的数据
newInstance()
获取这些参数,将它们放在Bundle
中,并通过Bundle
将setArguments()
附加到新构建的片段实例
您的片段在需要此数据时,会调用getArguments()
来检索Bundle
这可确保您的数据在配置更改后继续存在。