私はリストビューを持っており、onclickを実装しています。また、onfling.problemは、フリング(左から右にスワイプ)を行うと、リストビューのonclickイベントも実行されます.この問題を克服するにはどうすればよいですか? リストビューでタッチ(タップ)とフリング(スワイプ)を区別する方法は?
listClickListener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,int position, long id) {
//Job of Onclick Listener
}
};
mContactList.setOnItemClickListener(listClickListener);
mContactList.setAdapter(adapter);
// Gesture detection
gestureDetector = new GestureDetector(new MyGestureDetector(prosNos));
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}
};
mContactList.setOnTouchListener(gestureListener);
}
public class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
// My fling event
return false;
}
}
PSそれは可能ですか?ListView の OnClickListener にコメントを付けて、任意の onTouchEvent に同じロジックを記述するには? それでも、onFling が onTouch を呼び出すことに疑いの余地はありません。私は正しいですか?