2013-04-30 3 views
0

Я изучаю, как создавать приложения для Android, и я не могу понять, как реализовать какое-то событие OnMouseMoved в android.OnMouseMoved Android?

Я попытался использовать OnTouchListener, но он не обновляется, когда я касаюсь, удерживаю и двигаю. Он обновляется только при нажатии разных точек. Как это:

public boolean onTouch(View v, MotionEvent event) { 
    int x = (int) event.getX(); 
    thread.getGameState().touch(x); 
    return false; 
} 

Я попытался это

@Override 
public boolean onTouch(View v, MotionEvent event) { 
    int x = (int) event.getX(); 
    if(event.getAction() == MotionEvent.ACTION_MOVE) { 
     thread.getGameState().touch(x); 
    } 
    return false; 
} 

Но это даже не отвечает на все потрогать, может быть, точка я получаю от случая старая точка, а не новая точка перетаскивания?

thread.getGameState().touch(x); устанавливает значение x и объект, что должно привести к перетаскиванию.

+1

это покрыто довольно хорошо в андроиде документах HTTP: // разработчик .android.com/training/gestures/movement.html .. возможно, взгляните на это в качестве отправной точки – brendosthoughts

+0

Могу ли я узнать, как вы присоедините мышь к вашему устройству Android? – Gunaseelan

+0

@ Gunaseelan USB? Блютуз? – Simon

ответ

0

Вы должны вернуться верно в onTouch() сказать Android, что вы будете обращаться с полным сенсорным событием, так что вы можете получить события после ACTION_DOWN:

@Override 
public boolean onTouch(View v, MotionEvent event) { 
    int x = (int) event.getX(); 
    if(event.getAction() == MotionEvent.ACTION_MOVE) { 
     thread.getGameState().touch(x); 
    } 
    return true; 
} 
+0

Он еще не обнаружил его – M4trixSh4d0w