【问题标题】:How to loop (from last fragment to first) in a FragmentStatePagerAdapter如何在 FragmentStatePagerAdapter 中循环(从最后一个片段到第一个片段)
【发布时间】:2013-05-05 18:33:13
【问题描述】:

我编写了这个扩展 FragmentStatePagerAdapter 的类,以便在视图之间滑动。现在我需要使滑动列表循环,以便在最后一个片段之后滑动会显示第一个片段。我还没有找到正确的方法,有什么帮助吗?

这是适配器的代码:

public class DetailsPagerAdapter extends FragmentStatePagerAdapter {

List<Detail> details=null;

public DetailsPagerAdapter(FragmentManager supportFragmentManager, List<Detail> details) {
    super(supportFragmentManager);
    this.details=details;
}

@Override
public Fragment getItem(int i) {
    System.out.println("Fetching item at position "+i);
    Fragment fragment = new DetailsFragment();

    Bundle args = new Bundle();
    args.putString("img",details.get(i).getImageFileName());
    args.putString("desc",details.get(i).getDescription());
    fragment.setArguments(args);
    return fragment;
}

public int getCount() {
    return details.size();
}

}

【问题讨论】:

标签: java android swipe fragmentstatepageradapter


【解决方案1】:

在您的适配器中,尝试类似的操作

        @Override
        public Fragment getItem(int pos) {
            pos = pos % details.size();
            ....
        }

        @Override
        public int getCount() {
            return  99999;
        }

【讨论】:

  • 我不确定这样的事情是否可行。我尝试使用第一个操作数,但正如预期的那样 getCount() 将返回 [0,details-size()-1] 范围内的值,这只会缩短我的对象集合并只显示我想要显示的片段的子集.
  • 请稍等,我的答案不好,我写这个答案的时候头晕:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多