我的问题是当我尝试在我的 ListView 中拖动一个项目时,我并不总是得到 ACTION_DOWN 事件。我有很多 ACTION_MOVE 事件,只有一个 ACTION_UP 事件。并非总是如此。我得到了 ACTION_DOWN 3 次。这让我很困惑。
我看了类似的问题,但它的答案似乎不适合我。谁能想到为什么会这样?
谢谢
//list_client -- a listview
list_client.setOnTouchListener(new View.OnTouchListener() {
float f1 = -1, f2 = -1 ;
@Override
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
f1 = event.getRawY();
break;
case MotionEvent.ACTION_MOVE:
f2 = event.getRawY();
if(f2 - f1 > 50){
if(View.VISIBLE != rl_search_and_add.getVisbility() && ){ rl_search_and_add.setVisibility(View.VISIBLE);
}
f1 = f2;
}else if (f2 - f1 < -50){
rl_search_and_add.setVisibility(View.GONE);
f1 = f2;
}
break;
case MotionEvent.ACTION_UP:
f1 = -1; f2 = -1;
break;
}
return false;
}
});