2012-10-16 6 views
0

J'essaie d'appeler la méthode onTouch à partir d'une classe différente mais je n'ai aucune idée de ce qu'il faut passer pour MotionEvent. L'utilisation de null rend la force de l'application proche. Heres le codeMotionEvent Initialiser?

public final class Touch { 

private static final String TAG = Touch.class.getSimpleName(); 

public boolean onTouchEvent(MotionEvent event, Droid droid, Thread thread) { 
if (event.getAction() == MotionEvent.ACTION_DOWN) 
{ 
    droid.handleActionDown((int)event.getX(), (int)event.getY()); 
    /*if (event.getY() > getHeight() - 50) 
    { 
     thread.setRunning(false); 
     ((Activity)getContext()).finish(); 
    } 
    else 
    { 
     Log.d(TAG, "Coords: x=" + event.getX() + ",y=" + event.getY()); 
    }*/ 
} 
if (event.getAction() == MotionEvent.ACTION_MOVE) 
{ 
    // the gestures 
    if (droid.isTouched()) 
    { 
     // the droid was picked up and is being dragged 
     droid.setX((int)event.getX()); 
     droid.setY((int)event.getY()); 
    } 
} 
if (event.getAction() == MotionEvent.ACTION_UP) 
{ 
    // touch was released 
    if (droid.isTouched()) 
    { 
     droid.setTouched(false); 
    } 
} 
return true; 
} 
} 

C'est la classe, comment j'appellerais cela dans le fil principal? Actuellement, je suis en train.

public void Touch() 
{ 
    MotionEvent event = null; 
    touch.onTouchEvent(event, droid, thread); 
} 

Comme nulle est la seule chose que je peux penser à pas dans

Répondre

0

Essayez:

MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, metaState); 
+0

Je n'ai aucune de ces variables déclarées, non vraiment sûr de savoir comment l'utiliser. –

+0

MotionEvent.obtain (1, 1, MotionEvent.ACTION_DOWN, -5, -5, 1) à titre d'exemple. Je génère ces valeurs pour le faux drag –

+0

Cela provoque également une erreur de force. :( –