Question

J'obtiens une erreur en essayant de mettre en œuvre un OnTouchListener:

  

La méthode OnTouch (Voir, MotionEvent)   de type nouveau View.OnTouchListener () {}   doit remplacer une méthode de superclasse

Je ne sais pas pourquoi cela ne fonctionne pas comme il semble que je suis overrriding correctement la méthode:

public class MyActivity extends Activity
{
    ...creation code etc...

    OnTouchListener mTouchListener = new OnTouchListener()
    {
        @Override
        public boolean onTouch(View v, MotionEvent event)
        {
                 ...touch code...
            }
        }
}

Toutes les idées sur la façon dont je peux débugger?

Était-ce utile?

La solution

Dans Eclipse, allez à Windows> Préférences> Java> Compiler et sélectionnez 1.6.

Vous pouvez utiliser 1,5 et 1,5 ne permet pas @Override sur les méthodes d'interfaces, mais juste sur la méthode superclasse. 1,6-t.

Si cela ne fonctionne toujours pas, supprimez la ligne @Override ...

public class MyActivity extends Activity
{
    ...creation code etc...

    OnTouchListener mTouchListener = new OnTouchListener()
    {

        public boolean onTouch(View v, MotionEvent event)
        {
                 ...touch code...
            }
        }
}

Autres conseils

View.OnTouchListener mTouchListener = new View.OnTouchListener() {

        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            return false; 
        }
    };

qui compile très bien, êtes-vous sûr qu'il n'y a pas d'erreurs de syntaxe? Qu'est-ce que vous êtes compilateur paramètres? java 5 ou 6?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top