wheelView 如何无限循环
时间: 2023-07-04 14:19:18 浏览: 41
在 WheelView 中实现无限循环,可以使用循环滚动的方式,即当滑动到最后一个时,立即跳转到第一个位置,当滑动到第一个位置时,立即跳转到最后一个位置。实现方式如下:
1. 在 Adapter 中 getItem() 方法中,根据 position % data.size() 获取数据,使得数据无限循环。
2. 在 onScrollStateChanged() 方法中,当滑动停止时,判断当前滑动位置是否在第一个或最后一个位置,如果是,则立即跳转到相应的位置。代码示例:
```java
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
int position = wheelView.getFirstVisiblePosition();
if (position == 0) {
wheelView.setSelection(data.size());
} else if (position == data.size() + 1) {
wheelView.setSelection(1);
}
}
}
```
3. 在 Adapter 中覆盖 getCount() 方法,使得数据总数为 Integer.MAX_VALUE,这样可以保证无限循环。
```java
@Override
public int getCount() {
return Integer.MAX_VALUE;
}
```