java - 如何拥有触摸监听器并且仍然能够滚动

标签 java android android-listview listener

我有一个 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/

相关文章:

android - ListView 中的 ViewPager - 如何锁定滚动轴?

java - 在java中暂停/恢复多个线程

java - 在 Java 中清理字符串

java - 在不执行 SPRING AOP 的建议之前

android - Intermec PR3 打印机使用 intermec SDK 从 android 应用程序打印?

Java/Android 绝对最快的方式来定期获取当前秒数 (0-59) 和/或毫秒数 (0-999)

java - Liferay SOAP 服务 Java 客户端验证错误

android - Jetpack Compose 是否提供 Material AutoComplete TextView 替代品?

android - 如何获取Youtube视频列表并点击视频播放

java - 获取ListView中所选项目的标题文本