2015-02-07 4 views
0

사용자가 토스트를 사용하여 화면을 클릭하는 지점의 좌표를 표시하려고합니다. 몇 가지 이유 때문에이 클래스에서 작동하지 않는 이유는 무엇입니까? @Override public boolean onTouchEvent (MotionEvent 이벤트) { // motionevent는 사용자로부터 모션을 감지합니다. float x; x = event.getX(); float y; y = event.getY();MotionEvent 후 토스트 메시지

 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 변수 전달 방법합니까? 어쩌면 모든 것을 아래로 옮길 수 있습니다. 또한 단지 getX 및 getY 대신 getRawX 및 getRawY를 시도하십시오. 그러나 응답을 위해 감사합니다. – MobileMon

+0

, 토스트가 작동하지 않는 이유에 대한 내 질문에 대답하지 않았습니다. invalidate 메서드는 레이아웃 뷰를 처리합니다. –

+0

그것이 작동하지 않는다는 것은 무엇을 의미합니까? 그것은 보이지 않는다? – MobileMon

답변

0

는 클래스 변수라는 설정 :

Context mContext; 

에서 onCreate 방법 :

mContext = this; 

당신의 무효화를 무엇 DrawView.this

+0

아니, 아직도 doesnt 일. 내가 mContext = this를 선언 할 때; 호환되지 않는 유형의 경우 오류가 발생합니다. –

관련 문제