如何防止在Android中刷卡时发生触摸事件?
问题描述:
添加触摸事件后,我的滑动事件不会被触发。如果发生滑动,我怎样才能防止触摸事件发生?这里是我的代码:如何防止在Android中刷卡时发生触摸事件?
favorites.setOnTouchListener(new OnSwipeTouchListener(getApplicationContext()) {
public void onSwipeTop() {
Toast.makeText(MainActivity.this, "top", Toast.LENGTH_SHORT).show();
}
public void onSwipeRight() {
Toast.makeText(MainActivity.this, "right", Toast.LENGTH_SHORT).show();
}
public void onSwipeLeft() {
Toast.makeText(MainActivity.this, "left", Toast.LENGTH_SHORT).show();
}
public void onSwipeBottom() {
Toast.makeText(MainActivity.this, "bottom", Toast.LENGTH_SHORT).show();
}
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(MainActivity.this, "onTouch", Toast.LENGTH_SHORT).show();
return true;
}
});
}
答
它看起来像OnSwipeTouchListener是你定义的类实现onTouchListner。你重写onTouch()方法。
在收藏夹视图上发生的所有触摸事件都将由此列表程序通过onTouch()方法处理。关键是你在这个方法中返回true,所以不会再调用下面的回调方法。
顺便说一下,触摸事件处理很复杂。我很好奇触摸事件检测代码在哪里。