2015-02-07 62 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