Android: похоже, не может правильно использовать MotionEvent.ACTION_MOVE

Я новичок в программировании на Android и Java (хотя у меня есть некоторый опыт работы с C #, так что это помогает).

В данный момент я бездельничаю, пытаясь разобраться с парой вещей. знаю, как все работает. Я сделал действие, которое реализует onTouchListener. Я переопределил onTouch и включил event.getAction ():

public boolean onTouch(View v, MotionEvent event) 
{
    float x; 
    float y;    

    switch (event.getAction())
    {
        case MotionEvent.ACTION_DOWN: // gets called
        {
            x = event.getX();
            y = event.getY();   
            circle c = new circle(this, x, y, 10, 0xFFFFFF);
            _main.addView(c, tapCount++);
            break;
        }
        case MotionEvent.ACTION_MOVE: // doesnt seem to do anything
        {
            x = event.getX();
            y = event.getY();
            circle c = new circle(this, x, y, 10, 0xFFFFFF);
            _main.addView(c, tapCount++);
            break;
        }
    }
    return false;
}

Где «circle» - это класс, который рисует круг.

Я ожидал увидеть след из кругов, когда провел пальцем по нему. экран. Вместо этого круг рисуется только тогда, когда я начинаю касаться.

Я сравнил свой код с примерами (например: это сообщение в блоге от Google: http://android-developers.blogspot.com/2010/ 06 / make-sense-of-multitouch.html ), и я не могу найти свою ошибку.

РЕДАКТИРОВАТЬ: Ссылка на полный класс: http://pastebin.com/tVDQjQhu

ИЗМЕНИТЬ: Исправлена. Нужно вернуть true в функции onTouch (). d'oh!

7
задан Stijnn 8 June 2011 в 10:06
поделиться