【问题标题】:Toast message after MotionEventMotionEvent 之后的 Toast 消息
【发布时间】:2015-02-07 15:00:12
【问题描述】:

我正在尝试使用 Toast 显示用户在屏幕上单击的点的坐标。由于某些原因,它在这门课上不起作用,有人能解释一下为什么吗? @覆盖 公共布尔 onTouchEvent(MotionEvent 事件) { //motionevent 检测用户的动作 浮动 x; x = event.getX(); 浮动y; y = event.getY();

      switch (event.getAction())
      {
        case MotionEvent.ACTION_UP:
            //touch_up(x, y);
            invalidate();
            float Cox = event.getX();
            float Coy = event.getY();
            String text = "You clicked at x = " + Cox+ "and y =" + Coy;
            //AlertDialog.Builder builder = new AlertDialog.Builder();
            Toast toast = Toast.makeText(DrawView.this, text, 10);
            toast.show();

            break;
      }
      return true;

【问题讨论】:

  • 你的无效方法是做什么的?也许把它移到一切下面。也可以试试 getRawX 和 getRawY 而不是 getX 和 getY
  • 感谢您的回复,但它没有回答我关于为什么吐司不起作用的问题。 invalidate 方法处理布局视图。
  • 你的意思是它不起作用?不显示?

标签: coordinates motionevent


【解决方案1】:

设置一个名为的类变量:

Context mContext;

在 onCreate 方法中:

mContext = this;

在 Toast 构造函数中传递这个 mContext 变量而不是 DrawView.this

【讨论】:

  • 不行,还是不行。当我声明 mContext=this;它会为不兼容的类型引发错误
猜你喜欢
  • 2011-11-28
  • 2011-07-15
  • 2014-07-08
  • 1970-01-01
  • 1970-01-01
  • 2017-10-29
  • 2015-02-12
  • 2017-10-14
相关资源
最近更新 更多