Java 我可以得到我点击的位置的坐标xy吗?OnTapListener?

Java 我可以得到我点击的位置的坐标xy吗?OnTapListener?,java,android,view,ontouchlistener,motionevent,Java,Android,View,Ontouchlistener,Motionevent,我一直在寻找一些函数,可以给我屏幕上触摸点的x,y坐标。 我得到了onTouch()的代码,但找不到调用该函数的方法 public boolean onTouch(View v, MotionEvent event) { int x = event.getX(); int y = event.getY(); return true; } 我应该在辩论中传递什么是视图和运动事件? 有谁能帮我,告诉我如何获得触摸点的x,y吗?试试下面的视图: View yourView = fi

我一直在寻找一些函数,可以给我屏幕上触摸点的x,y坐标。 我得到了onTouch()的代码,但找不到调用该函数的方法

public boolean onTouch(View v, MotionEvent event) {
   int x = event.getX();
   int y = event.getY();
   return true;
}
我应该在辩论中传递什么是视图和运动事件? 有谁能帮我,告诉我如何获得触摸点的x,y吗?

试试下面的视图:

View yourView = findViewById(R.id.yourViewId)
    yourView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getActionMasked() == MotionEvent.ACTION_DOWN) {
            // Do something
            x = event.getX();
            y = event.getY();
            }
            return true;
        }
    });
或者尝试以下活动:

@Override
public boolean onTouchEvent(MotionEvent event) {
            if(event.getActionMasked() == MotionEvent.ACTION_DOWN) {
            // Do something
            x = event.getX();
            y = event.getY();
            }
            return true;
}

顺便说一句,您不需要调用此方法,只要覆盖它,任何时候触摸屏幕时,您的活动都会调用此方法。

如果此方法不起作用,请告诉我,我将删除答案

要获取按try时的坐标,请执行以下操作:

switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN: // when you touch
        x = event.getRawX(); // gather x and y
        y = event.getRawY();
        break;
PS我会发表评论,但代表性太低
PSS you if statement如果这是您想要做的全部,如果您尝试做多件事情(例如拖动一个项目),请切换。

也尝试过,但我仍然不理解什么是“事件”,以及调用函数时如何在onTouchEvent()中传递“事件”?您不提供事件,它是由Android touch系统提供的。你只需要确保你在屏幕上有一个可以拾取触摸事件的视图。正如我之前所说的,事件使你的活动调用一个处理该事件的特定方法,默认情况下,你的活动有一个onTouchEvent,你所需要的是如何覆盖它,明白吗?只有FarShaD answer不起作用时,我看他没什么问题,但如果出于任何原因它不起作用,试试看。