0

我用来显示 phonecontacts 列表并尝试单击一个项目,当双击完成时,应考虑较早的 clickeditem 并拨打电话。类似于启用对讲可访问性时的模仿。

但是,每当我尝试双击 listitem 时,都会调用 onItemClick 。但是当在列表项的边缘双击时,会捕获 doubleTap 事件。

任何人都可以请帮助可能是什么问题?

还有帮助如何做:默认情况下应该选择列表的第一项并说出第一个联系人,当用户滚动阅读下一个联系人并突出显示该列表项时。

4

1 回答 1

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;
    }
  }
}
于 2014-03-07T05:06:25.650 回答