public void stopScrollingAndCorrectPosition(){ stopScrolling(); if (mHandlerInNewThread != null){ mHandlerInNewThread.sendMessageDelayed(getMsg(HANDLER_WHAT_REFRESH), 0); } }
public void setDisplayedValues(String[] newDisplayedValues){ stopRefreshing(); stopScrolling(); if(newDisplayedValues == null){ throw new IllegalArgumentException("newDisplayedValues should not be null."); } if(mMaxValue - mMinValue + 1 > newDisplayedValues.length){ throw new IllegalArgumentException("mMaxValue - mMinValue + 1 should not be greater than mDisplayedValues.length, now " + "((mMaxValue - mMinValue + 1) is " + (mMaxValue - mMinValue + 1) + " newDisplayedValues.length is " + newDisplayedValues.length + ", you need to set MaxValue and MinValue before setDisplayedValues(String[])"); } updateContent(newDisplayedValues); updateMaxWHOfDisplayedValues(true); mPrevPickedIndex = 0 + mMinShowIndex; correctPositionByDefaultValue(0, mWrapSelectorWheel && mWrapSelectorWheelCheck); postInvalidate(); mHandlerInMainThread.sendEmptyMessage(HANDLER_WHAT_REQUEST_LAYOUT); }
public void setDisplayedValuesAndPickedIndex(String[] newDisplayedValues, int pickedIndex, boolean needRefresh){ stopScrolling(); if(newDisplayedValues == null){ throw new IllegalArgumentException("newDisplayedValues should not be null."); } if(pickedIndex < 0){ throw new IllegalArgumentException("pickedIndex should not be negative, now pickedIndex is " + pickedIndex); } updateContent(newDisplayedValues); updateMaxWHOfDisplayedValues(true); updateNotWrapYLimit(); updateValue(); mPrevPickedIndex = pickedIndex + mMinShowIndex; correctPositionByDefaultValue(pickedIndex, mWrapSelectorWheel && mWrapSelectorWheelCheck); if(needRefresh){ mHandlerInNewThread.sendMessageDelayed(getMsg(HANDLER_WHAT_REFRESH), 0); postInvalidate(); } }
mFlagMayPress = true; mHandlerInNewThread.removeMessages(HANDLER_WHAT_REFRESH); stopScrolling(); downY = currY; downYGlobal = mCurrDrawGlobalY; case MotionEvent.ACTION_CANCEL: downYGlobal = mCurrDrawGlobalY; stopScrolling(); mHandlerInNewThread.sendMessageDelayed(getMsg(HANDLER_WHAT_REFRESH), 0); break;