2015-02-07 86 views
0

我正在尝试显示用户使用Toast在屏幕上单击的点的坐标。由于某些原因,它不在这个班级工作,任何人都可以阐明为什么? @Override public boolean onTouchEvent(MotionEvent event) // motionevent从用户检测动作 float x; x = event.getX(); float y; y = event.getY();MotionEvent后Toast消息

 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; 
+0

这个mContext变量,而不是什么是您的无效方法呢?也许可以把它推到一切之下也尝试getRawX和getRawY,而不是只是getX和getY – MobileMon 2015-02-07 15:03:53

+0

谢谢你的回应,但是,它没有回答我为什么敬酒不起作用的问题。 invalidate方法处理布局视图。 – 2015-02-07 15:20:58

+0

你是什么意思,它不起作用?它不显示? – MobileMon 2015-02-07 15:21:48

回答

0

一套名为类变量:

Context mContext; 

在onCreate方法:

mContext = this; 

在吐司构造函数传递的DrawView.this

+0

不,不起作用。 当我声明mContext = this;它为不兼容的类型提供了一个错误 – 2015-02-07 16:28:50