在Android上用“longclick拖”是不可能的?

时间:2011-06-22 13:12:23

标签: android achartengine ontouchevent touch-event onlongclicklistener

我正在制作图表。我可以放大,拖动...我也需要拖动longclick。如果你需要解释,用户可以通过longClıck查看图表值,用户可以拖动到左边,右边用longclick查看其他值... Android可以感知吗?我使用achartengine库。

我现在可以处理:)但我还有另外一个问题......

 longPressDetector = new GestureDetector(getContext(), new SimpleOnGestureListener() {
     @Override
     public void onLongPress(final MotionEvent e) {
        int x = (int) e.getX();
        final int y = (int) e.getY();
        Toast.makeText(context, "long press", Toast.LENGTH_SHORT).show();
        }
       });

但代码并不是我理解的。 我该怎么知道?

   @Override
  public boolean onTouchEvent(MotionEvent event) {
  if (longPressDetector.onTouchEvent(event)) {
      return true; *** not work.
  }

我可以用longClick这种方式拖动吗?我是对的吗?

1 个答案:

答案 0 :(得分:1)

好的,我用这个..

   longPressDetector = new GestureDetector(getContext(),
            new SimpleOnGestureListener() {
                @Override
                public void onLongPress(final MotionEvent e) {
                    if (!isVolumeChart) {
                        touchHandler.handleLongTouch(true);
                        onLongPress = true;
                    }
                }

                @Override
                public boolean onSingleTapUp(MotionEvent e) {
                    if (!isVolumeChart && onClickLayout != null)
                        onClickLayout.onClickedView(rootLayout);
                    return super.onSingleTapUp(e);
                }

                @Override
                public boolean onDoubleTap(MotionEvent e) {
                    if (!isVolumeChart) {
                        fitZoom = new FitZoom(mChart);
                        zoomReset();
                        if (volumeView != null) {
                            volumeView.fitZoom = new FitZoom(
                                    volumeView.mChart);
                            volumeView.zoomReset();
                        }
                    }
                    return super.onDoubleTap(e);
                }
            });