public class WheelView extendsScrollView {public static final String TAG = WheelView.class.getSimpleName();public static classOnWheelViewListener {public void onSelected(intselectedIndex, String item) {
}
}privateContext context;privateLinearLayout views;publicWheelView(Context context) {super(context);
init(context);
}publicWheelView(Context context, AttributeSet attrs) {super(context, attrs);
init(context);
}public WheelView(Context context, AttributeSet attrs, intdefStyle) {super(context, attrs, defStyle);
init(context);
}//String[] items;
Listitems;private ListgetItems() {returnitems;
}public void setItems(Listlist) {if (null ==items) {
items= new ArrayList();
}
items.clear();
items.addAll(list);//前面和后面补全
for (int i = 0; i < offset; i++) {
items.add(0, "");
items.add("");
}
initData();
}public static final int OFF_SET_DEFAULT = 1;int offset = OFF_SET_DEFAULT; //偏移量(需要在最前面和最后面补全)
public intgetOffset() {returnoffset;
}public void setOffset(intoffset) {this.offset =offset;
}int displayItemCount; //每页显示的数量
int selectedIndex = 1;private voidinit(Context context) {this.context =context;
Log.d(TAG,"parent: " + this.getParent());this.setVerticalScrollBarEnabled(false);
views= newLinearLayout(context);
views.setOrientation(LinearLayout.VERTICAL);this.addView(views);
scrollerTask= newRunnable() {public voidrun() {int newY =getScrollY();if (initialY - newY == 0) { //stopped
final int remainder = initialY %itemHe