0

我在我的测试 android-app 中使用 viewpager。

我想使用 3 个带有动态内容的片段。我可以进行“无休止”的滚动吗?因为我想像这样使用日期:2fragment - (currentdate||date), 1fragment - (date-1), 3fragment - (date+1)

解决这个问题的最佳方法是什么?

4

1 回答 1

0

创建自定义 FragmentStatePagerAdapter。覆盖(强制)getItem 方法:

  @Override
  public void getItem(int position){ 
   switch (position) {
   case 0:
          // create your dates for the leftmost fragment  
          date1 == xxx; 
          date2 == yyy;
          // add it to a Bundle arg
          Bundle bundle = new Bundle();
          bundle.add blah blah
          // Create your Fragment
          Fragment fragment = new YourFragmentWithTheList();
          fragment.setArgs(bundle);
          return fragment;
      case 1:
          // create your dates for the center fragment 
          [ do the same as above ]
          return fragment;
      case 2: 
          // now your rightmost fragment.
          same as above… 
   }
return null
}
  1. 您还必须覆盖 getCount...</p>

    @Override
    public int getCount() {
        return 3; // you only have three hardcoded frags
    }
    

然后在 YourFragmentWithTheList.java 中,您必须从参数中获取日期并执行通常的 ListFragment 操作(创建列表、初始化适配器、在底部加载更多内容等)。您有日期来获取每个数据的正确数据。因此,您的 Fragment 必须是虚拟的,并期望日期出现在参数中。

于 2013-11-01T17:16:06.897 回答