2
我想知道用戶是否滾動向上或向下滾動。 我已經開始重寫OnGestureListener.onScroll()
方法並將GestureDetector
設置爲ListView
。Android ListView:覆蓋導致滾動不執行
public class ContactList extends ListView {
GestureDetector gestureDetector;
public ContactList(Context context) {
super(context);
initView();
}
public ContactList(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
initView();
}
public ContactList(Context context, AttributeSet attrs) {
super(context, attrs);
initView();
}
private void initView() {
gestureDetector = new GestureDetector(new SimpleOnGestureListener() {
public boolean onScroll(MotionEvent firstEvent, MotionEvent secondEvent, float distanceX, float distanceY) {
Log.d("tag", "onScroll "+firstEvent.getAction());
Log.d("tag", "onScroll "+secondEvent.getAction());
return true;
};
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
}
調試,我注意到它來自的onTouchEvent(),而不是通過從onScroll()和滾動不被ListView
了perfomed。
我在做什麼錯?
謝謝
好極了!在'onScroll()'中返回'false'是聲明事件沒有消耗,所以'onTouchEvent()'可以將事件轉發給超類。有用。非常感謝你! :) – 2011-03-11 08:45:37