2010-11-30 4 views
2

je reçois une erreur en essayant de mettre en œuvre un OnTouchListener:avec OnTouchListener

La méthode OnTouch (Voir, MotionEvent) de type nouveau View.OnTouchListener() {} doit passer outre une méthode 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... 
      } 
     } 
} 

Des idées sur comment je peux déboguer ça?

Répondre

6

Dans Eclipse, allez dans Windows> Préférence> Java> Compilateur et sélectionnez 1.6.

Vous utilisez 1.5, et 1.5 n'autorise pas @Override sur les méthodes d'interfaces, mais seulement sur la méthode de superclasse. 1,6 fait.

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... 
      } 
     } 
} 
+0

Cela résout mon problème. J'ai 1.5 par défaut pour les problèmes que j'ai avec maven. Merci! – wajiw

0
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? Quels sont les paramètres du compilateur? Java 5 ou 6?

+0

Java 5 en raison de problèmes avec maven – wajiw

Questions connexes