在我们的应用程序中,我们使用Android wheel lib。问题在于Galaxy SII。只有当用户触摸它时,轮子才能工作,将手指放在侧面(车轮外),然后向上或向下滚动。有没有这个问题和可能的解决方案?
答案 0 :(得分:0)
这是kankan android-wheel库的一个bug。在第611行的WheelView.java中,将switch语句更改为以下内容:
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN: //added to fix problem
case MotionEvent.ACTION_MOVE:
if (getParent() != null) {
getParent().requestDisallowInterceptTouchEvent(true);
}
break;
case MotionEvent.ACTION_UP:
if (getParent() != null) { //added to fix problem, this may be uneeded
getParent().requestDisallowInterceptTouchEvent(false);
}
if (!isScrollingPerformed) {
int distance = (int) event.getY() - getHeight() / 2;
if (distance > 0) {
distance += getItemHeight() / 2;
} else {
distance -= getItemHeight() / 2;
}
int items = distance / getItemHeight();
if (items != 0 && isValidItemIndex(currentItem + items)) {
notifyClickListenersAboutClick(currentItem + items);
}
}
break;
}