0
我有一個自定義列表視圖,當用戶將他/她的手指仍在屏幕上時,我需要能夠上下滑動。如何才能做到這一點?我在自定義listview類中提供了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);
}
不行,它不起作用。我需要能夠將整個列表視圖向下拖動,當我將手指向下拖動並向上移動時,我將手指向上移動 – Samantha
進行了一些更改。現在引用listview,不知道它的變量名是從你的代碼中得到的,並且改變爲基於ACTION_MOVE的增量滾動。 –