如何创建无尽的片段来处理日期?

How to create endless fragments to work with dates?

我看过其他类似的问题,但似乎无法理解一些事情:

这是我想要实现的目标

所以当按下后退箭头时,我希望 ViewPager 从 0 返回到 -1 等

创建无限片段会影响应用程序的性能,还是只添加 3 个片段会更好。

最后,如果只使用 3 个片段会更好,我将如何根据当前日期获取新数据。

单击箭头(< 或 >),您可以创建 onClick 监听器 并基于它可以执行一些 操作 以及如果您使用的是日历 在该选择日期,您还可以为此创建 onClick 监听器。

基本上性能取决于:

  • 您的 XML 布局有多大。
  • 在 UI 线程中完成了多少任务。
  • 您在视图之间切换的频率。

我会说,使用三个片段会更好。

你应该检查 this answer

对于任何想知道我是如何做到的人,这是我的代码:

注意,我并没有创建一个无尽的viewpager,而是在仔细查看其他各种之后,我发现他们也没有自己创建一个无尽的ViewPager,而是选择了一个很长的总页数。

下面是我的 ViewPagerAdapter,它扩展了 FragmentStatePagerAdapter。查看 android 的文档,在使用大量片段时建议这样做。

public class ViewPagerAdapter extends FragmentStatePagerAdapter {

 private Fragment1 frag1 = new Fragment1();
 static final int PAGE_NUM_ITEMS = 7321;


 public ViewPagerAdapter(FragmentManager fm) {
    super(fm);
 }

 @Override
 public Fragment getItem(int position) {

    return frag1.newInstance(position);
 }

 @Override
 public int getCount() {

    return PAGE_NUM_ITEMS;
 }
}

在我的片段 class 中,代码是:

  public  Fragment1 newInstance(int page){

    Fragment1 frag1= new Fragment1();

    return frag1;

}

然后将 viewpager 设置到页面中间,我认为是 3660,因为 Java 从 0 开始。