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);
        }

2 番目の問題については、SimpleOnGestureListener を使用します。必要なメソッドがありますonSingleTapConfirmed()& onFling()

于 2013-09-18T12:56:21.880 に答える