我有一个 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);
}
我应该设置什么来让我的列表视图项目被点击、滚动并让 fling 工作呢?