我创建了一个带有自定义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事件工作正常,但单个触摸和滚动事件消失了,我的列表视图已经死了。我该怎么办?
答案 0 :(得分: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
}
});
答案 1 :(得分:1)
更改为:
@Override
public boolean onTouch(View v, MotionEvent event)
{
return gestureDetector.onTouchEvent(event);
}
对于第二个问题,请使用SimpleOnGestureListener。它有你想要的方法onSingleTapConfirmed()
& onFling()
。