onTouchEvent не может @Override - PullRequest
       2

onTouchEvent не может @Override

2 голосов
/ 17 марта 2012

Привет, я хочу реализовать GestureDetector, используя Service

Однако у меня есть эта ошибка The method onTouchEvent(MotionEvent) of type GestureService must override or implement a supertype method

public class GestureService extends Service implements OnGestureListener {

private GestureDetector gestureScanner;

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}
@Override
public void onCreate() {
    super.onCreate();       
    Toast.makeText(getBaseContext(),"onCreate", Toast.LENGTH_SHORT).show();
    gestureScanner = new GestureDetector(this);

}


@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Toast.makeText(getBaseContext(),"onStartCommand", Toast.LENGTH_SHORT).show();
    return START_STICKY;

 }

public boolean onTouchEvent(MotionEvent me) {

    return gestureScanner.onTouchEvent(me);
}

@Override
public boolean onDown(MotionEvent e) {
    // TODO Auto-generated method stub
    Toast.makeText(getBaseContext(),"onDown", Toast.LENGTH_SHORT).show();
    return false;
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
    // TODO Auto-generated method stub
    return false;
}
@Override
public void onLongPress(MotionEvent e) {
    // TODO Auto-generated method stub

}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
        float distanceY) {
    // TODO Auto-generated method stub
    return false;
}
@Override
public void onShowPress(MotionEvent e) {
    // TODO Auto-generated method stub

}
@Override
public boolean onSingleTapUp(MotionEvent e) {
    Toast.makeText(getBaseContext(),"onSingleTapUp", Toast.LENGTH_SHORT).show();
    // TODO Auto-generated method stub
    return false;
}
 }

Есть ли способ исправить это, вместо удаления @Override как я подозреваю, удаление это причина, которая заставляет GestureDetector не работать.

Ответы [ 2 ]

1 голос
/ 17 марта 2012

OnTouchEvent отсутствует в OnGestureListener , что приводит к вашей ошибке (нечего переопределять). Что именно вы хотите сделать с этим событием? Вы можете использовать onDown и onSingleTapUp для эмуляции события. Однако вы можете прослушивать onTouch () из View , но я не вижу кода, касающегося View, по крайней мере из того, что вы опубликовали.

0 голосов
/ 17 марта 2012

попробуйте

@Override
public boolean onTouchEvent(MotionEvent me) {
    if (gestureScanner.onTouchEvent(me))
        return true;
    else
        return false;
}

Надеюсь, это сработает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...