我有一个 ListView ,我设置了一个 onClickListener 和一个 onTouchListener。当他们点击某个项目时的点击监听器,我只有这个,一切都工作正常。但是,当我添加触摸监听器来监视左右滑动时,它不会再让我滚动。
listview.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent event){
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
historicX = event.getX();
historicY = event.getY();
break;
case MotionEvent.ACTION_UP:
if(event.getX() - historicX < -DELTA){
slidingLeft(event.getX(),event.getY());
return true;
}
else if(event.getX() - historicX > DELTA){
slidingRight(event.getX(), event.getY());
return true;
}
break;
default: return true;
}
return false;
}
});
我怎样才能再次滚动 ListView 。我是否可以添加另一个监听器来执行此操作,或者我可以修改 onTouchListener 来监视滚动吗?
最佳答案
您应该使用 GestureDetector 。 你可以使用这里的例子,非常清楚。 https://stackoverflow.com/a/12938787/1374065
关于java - 如何拥有触摸监听器并且仍然能够滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23050353/