Android 设置自定义手势侦听器后,ListView停止接受基本手势

Android 设置自定义手势侦听器后,ListView停止接受基本手势,android,android-listview,gesture,onfling,Android,Android Listview,Gesture,Onfling,我已经用定制的onFling方法创建了一个GestureListener。我没有覆盖onScroll或OnSingletApconfirm 我创建了如下侦听器: ListView listView=(ListView)findViewById(android.R.id.list); final GestureDetector gestureDetector = new GestureDetector(new CustomGestureListener(this));

我已经用定制的onFling方法创建了一个GestureListener。我没有覆盖onScroll或OnSingletApconfirm

我创建了如下侦听器:

   ListView listView=(ListView)findViewById(android.R.id.list);
        final GestureDetector gestureDetector = new GestureDetector(new CustomGestureListener(this));
        if (listView != null)
          listView.setOnTouchListener(new View.OnTouchListener()
          {
            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
              if (gestureDetector.onTouchEvent(event))
              {
                return false;
              }
              return true;
            }
          });
之后,onFling事件工作正常,但是单触和滚动事件消失了,我的listview也死了。我应该设置什么?

试试这个方法

ListView listView=(ListView)findViewById(android.R.id.list);
        final GestureDetector gestureDetector = new GestureDetector(new CustomGestureListener(this));
        if (listView != null)
          listView.setOnTouchListener(new View.OnTouchListener()
          {
            @Override
            public boolean onTouch(View v, MotionEvent event)
            {
              return gestureDetector.onTouchEvent(event); //UPDATE HERE

            }
          });
更改为:

        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
          return gestureDetector.onTouchEvent(event);
        }

对于第二个问题,请使用SimpleOnGestureListener。它有你想要的方法
onSingleTapConfirmed()
&
onFling()

谢谢,它治愈了“死亡”状态。现在问题已经发展到:)如果我使用fling,它也会检测到触摸,所以两个事件都会触发。我想说清楚。如果我只轻触一下,然后选择该项目,否则掷骰获胜。我该怎么做?我的侦听器是一个SimpleOnGestureListener(CustomGestureListener扩展了GestureDetector.SimpleOnGestureListener)。如果我使用此代码,我的项会高亮显示,但不会被推送:@Override public boolean onSingleTapConfiged(MotionEvent事件){ListView ListView=(ListView)((InfoActivity)context.findViewById(android.R.id.list);ListView.onTouchEvent(事件);返回true;}最好是提出一个新问题,并在那里更详细地陈述这些新问题。我将非常乐意回答你的问题。我同意了,我正要这么做。