Android OnSwipeTouchListener和OnTouchListener不';当他们';我们都在代码中

Android OnSwipeTouchListener和OnTouchListener不';当他们';我们都在代码中,android,imageview,ontouchlistener,Android,Imageview,Ontouchlistener,我正在制作一个android应用程序,在这个应用程序中,我必须点击一张图片,但也要向左/向右滑动。 但当我的代码中同时包含这两个代码段时,只有onswiptouchthelistener可以工作。侦听器都位于同一个ImageView上 代码1: pic.setOnTouchListener(new OnSwipeTouchListener(this) { @Override public void onSwipeLeft() {

我正在制作一个android应用程序,在这个应用程序中,我必须点击一张图片,但也要向左/向右滑动。 但当我的代码中同时包含这两个代码段时,只有onswiptouchthelistener可以工作。侦听器都位于同一个ImageView上

代码1:

     pic.setOnTouchListener(new OnSwipeTouchListener(this) {
            @Override
          public void onSwipeLeft() {

                Toast.makeText(MainActivity.this, "LEFT", Toast.LENGTH_LONG).show();
         }
             public void onSwipeRight() {

            Toast.makeText(MainActivity.this, "RIGHT", Toast.LENGTH_LONG).show();
            }
        });
代码2:

  pic.setOnTouchListener(new OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            Toast.makeText(MainActivity.this, "CLICK WORKS", Toast.LENGTH_LONG).show();     
            return true;
        }
    });
但是,当我只有“代码2”时,OnTouchListener代码可以完美地工作

为什么


提前谢谢。

我不完全确定什么是
OnSwipeTouchListener
。但是一个视图只能有一个
OnTouchListener
。第二次调用
pic.setOnTouchListener()
也会删除第一个侦听器,因此两者不能同时工作是合乎逻辑的


您要做的是创建一个实现
View.OnTouchListener
的对象,并处理滑动和单次点击。请参阅以获得良好的起点。

为此,我最终实现了一个带有ImageView片段的Viewpager。刷卡功能已经以这种方式集成