私の問題は、ListView でアイテムをドラッグしようとすると、常に ACTION_DOWN イベントが発生するとは限らないことです。多くの ACTION_MOVE イベントと 1 つの 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;
}
});