0

ListView があり、フリング タッチを処理するカスタム ジェスチャ リスナーを作成しました。リスナーがアイテムのタッチも処理できるようにするには、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;
            }
          });

CustomGestureListener で:

  @Override
  public boolean onSingleTapConfirmed(MotionEvent event)
  {
    ListView listView=(ListView)((InfoActivity)context).findViewById(android.R.id.list);
    listView.onTouchEvent(event);
    return super.onSingleTapUp(event);
  }

また、このようにスクロールを使用すると、スクロールはありません:

@Override
  public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY)
  {        
    return super.onScroll(e1,e2,distanceX,distanceY);
  }

リストビュー項目がクリックされ、スクロールされ、フリングも機能するようにするには、何を設定すればよいですか?

4

1 に答える 1