2012-10-16 7 views
0

다른 클래스에서 onTouch 메서드를 호출하려고하지만 MotionEvent에 전달할 내용이 없습니다. null을 사용하면 앱이 강제 종료됩니다. Heres the codeMotionEvent Initialize?

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; 
} 
} 

그게 전부 주 스레드에서 어떻게 부를까요? 현재 내가 노력하고있어. 널 (null)로

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

내가에서 PAS에 생각할 수있는 유일한 일이

답변

0

시도 :

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

내가, 그 변수의 선언 해달라고하지 그것을 어떻게 사용하는지 정말로 확신합니다. –

+0

MotionEvent.obtain (1, 1, MotionEvent.ACTION_DOWN, -5, -5, 1)을 예로들 수 있습니다. 가짜 드래그 값을 생성합니다. –

+0

강제 오류도 발생합니다. :( –

관련 문제