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);
}
リストビュー項目がクリックされ、スクロールされ、フリングも機能するようにするには、何を設定すればよいですか?