我有一个列表视图,显示给定日期的条目。列表视图上方有按钮,可用于增加/减少日期。一切正常。我要做的是更换这些按钮并让用户向右/向左滑动以增加/减少日期。
最好的方法是什么?我不关心什么项目被刷过,通常列表视图中没有项目给定日期,只要它发生在列表视图区域。我已经对这些项目进行了click和longclick监听。
答案 0 :(得分:13)
只需实现OnGestureListener。
public class MyListActivity extends ListActivity implements OnGestureListener
使用GestureDetector
GestureDetector detector = new GestureDetector(this, this);
将列表的触摸事件传递给GestureDetector
listView.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View view, MotionEvent e) {
detector.onTouchEvent(e);
return false;
}
});
最后使用fling方法检测手势。您可以使用力度值来检测运动方向。
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {}