Тост-сообщение после MotionEvent

Я пытаюсь отобразить координаты точки, которую пользователь щелкает на экране с помощью Toast. по некоторым причинам он не работает в этом классе, может ли кто-нибудь пролить свет на то, почему? @Override public boolean onTouchEvent(MotionEvent event) { //motionevent обнаруживает движение от пользователя float x; х = событие.getX(); плавать у; у = событие.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;

person Amna Hussain    schedule 07.02.2015    source источник
comment
Что делает ваш недействительный метод? Может быть, переместите это ниже всего. Также попробуйте getRawX и getRawY вместо просто getX и getY.   -  person MobileMon    schedule 07.02.2015
comment
спасибо за ваш ответ, однако, он не ответил на мои вопросы о том, почему тост не работает. Метод invalidate обрабатывает представление макета.   -  person Amna Hussain    schedule 07.02.2015
comment
Что значит не работает? Это не показывает?   -  person MobileMon    schedule 07.02.2015


Ответы (1)


Установите переменную класса с именем:

Context mContext;

В методе onCreate:

mContext = this;

Передайте эту переменную mContext в конструкторе Toast вместо DrawView.this

person MobileMon    schedule 07.02.2015
comment
нет, все равно не работает. когда я объявляю mContext=this; выдает ошибку для несовместимых типов - person Amna Hussain; 07.02.2015