我用来显示手机触点列表并尝试点击一个项目,当双击完成时,应该考虑先前的点击项目并拨打电话。 与启用对讲可访问性时的模仿类似。
但是每当我试图双击listitem时,就会调用onItemClick。 但是当对列表项的边缘进行双击时,会捕获doubleTap事件。
有人可以帮助解决可能存在的问题吗?
并且还有助于如何操作:默认情况下,应该选择列表的第一项并说出第一个联系人,当用户滚动阅读下一个联系人并突出显示该列表项时。
答案 0 :(得分:0)
转载自https://stackoverflow.com/a/6290044:
public class MyView extends View {
GestureDetector gestureDetector;
public MyView(Context context, AttributeSet attrs) {
super(context, attrs);
// creating new gesture detector
gestureDetector = new GestureDetector(context, new GestureListener());
}
// skipping measure calculation and drawing
// delegate the event to the gesture detector
@Override
public boolean onTouchEvent(MotionEvent e) {
return gestureDetector.onTouchEvent(e);
}
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onDown(MotionEvent e) {
return true;
}
// event when double tap occurs
@Override
public boolean onDoubleTap(MotionEvent e) {
float x = e.getX();
float y = e.getY();
Log.d("Double Tap", "Tapped at: (" + x + "," + y + ")");
return true;
}
}
}