【发布时间】:2014-03-06 21:32:32
【问题描述】:
我有一个自定义列表视图,当用户的手指仍在屏幕上时,我需要能够上下滑动。如何才能做到这一点?我在自定义列表视图类中提供了 ontouchEvent。我试过 this.setY(event.getY()) 但它确实有效。我该怎么做?
@Override
public boolean onTouchEvent(MotionEvent event) {
//System.out.println("First ["+this.getFirstVisiblePosition()+"]");
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE: {
this.setY(event.getY());
if ( ( y - startY) > THRESHOLD && STATE_REFRESH_ENABLED && !STATE_REFRESHING && Ref_once ) {
if(mListener!=null) mListener.onRefresh();
Log.d("CUSTOM LIST"," FOODHOTER LIST LISTENER WORKING");
this.setClickable(false);
Ref_once=false;
}
}
break;
case MotionEvent.ACTION_DOWN: {
startY = y;
// STATE_REFRESH_ENABLED = getFirstVisiblePosition() == 0; // We are on the first element so we can enable refresh
STATE_REFRESH_ENABLED =listIsAtTop() ;
this.setClickable(true);
}
case MotionEvent.ACTION_UP: {
STATE_REFRESHING = false;
this.setClickable(true);
Ref_once=true;
}
}
return super.onTouchEvent(event);
}
【问题讨论】:
标签: android android-listview touch-event ontouchlistener