0

我用自定义的 onFling 方法创建了一个 GestureListener。我没有覆盖 onScroll 或 onSingleTapConfirmed。

我这样创建了监听器:

   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 事件工作正常,但单点触摸和滚动事件消失了,我的列表视图已经死了。我应该设置什么?

4

2 回答 2

1

试试这个方法

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

            }
          });
于 2013-09-18T12:54:19.543 回答
1

改成这样:

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

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

于 2013-09-18T12:56:21.880 回答