Я пытаюсь провести пальцем влево и вправо по списку и получить видоискатель к swtich. Точно так же, как приложение Rememberberthemilk и приложение новостей и погоды по умолчанию на Nexus One (пролистывание новостных тем). Используя различные учебники, которые я нашел, я наткнулся на один стековый поток, который показывает, как реализовать жест смахивания
class MyGestureDetector extends SimpleOnGestureListener {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
try {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
return true;
// right to left swipe
if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
viewFlipper.setInAnimation(slideRightIn);
viewFlipper.setOutAnimation(slideRightOut);
viewFlipper.showPrevious();
}
} catch (Exception e) {
// nothing
}
return true;
}
}
И я получил эту работу, выполнив
lstView.setOnTouchListener(gestureListener);
Однако иногда случается, что listView setOnItemClickListener запускается, когда человек проводит пальцем по экрану. Как мне предотвратить это, и вызвать setOnItemClickListener только тогда, когда пользователь фактически щелкает по этому элементу списка, а не просто проводит по нему пальцем.
Спасибо,
Фейсал Абид