viewpager+fragment实现数据无限循环
时间: 2023-09-24 20:09:43 浏览: 110
用ViewPager实现手动切换,用Timer + Handler实现自动切换,左右完美无限滑动效果非常平滑.zip项目安卓应用
要实现ViewPager中Fragment的无限循环,可以采用以下几个步骤:
1.在ViewPager的Adapter中重写getCount()方法,将其返回一个较大的值,例如Integer.MAX_VALUE,这样就可以让ViewPager中的Fragment无限循环。
2.在ViewPager的Adapter中重写getItem()方法,将其返回的position取模操作,以确保获取到正确的Fragment。
3.在ViewPager的Adapter中重写getPageTitle()方法,将其返回的title也进行取模操作,以确保获取到正确的title。
下面是一个示例代码:
```java
public class MyPagerAdapter extends FragmentPagerAdapter {
private static final int NUM_PAGES = 3;
private List<Fragment> fragmentList;
private List<String> titleList;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
fragmentList = new ArrayList<>();
titleList = new ArrayList<>();
for (int i = 0; i < NUM_PAGES; i++) {
fragmentList.add(new MyFragment());
titleList.add("Page " + (i + 1));
}
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position % NUM_PAGES);
}
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
@Override
public CharSequence getPageTitle(int position) {
return titleList.get(position % NUM_PAGES);
}
}
```
在上面的示例代码中,我们将ViewPager中的Fragment数量设置为3,然后在getCount()方法中返回一个较大的值Integer.MAX_VALUE,这样就可以让ViewPager中的Fragment无限循环。在getItem()和getPageTitle()方法中,我们对position取模操作,以确保获取到正确的Fragment和title。
阅读全文