2010-11-30 45 views
2

我得到一个错误试图执行一个OnTouchListener:误差OnTouchListener

的方法onTouch(查看,MotionEvent)类型的 新View.OnTouchListener(){} 必须重写超类方法

我不知道为什么它不工作,因为它似乎我正确overrriding方法:

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

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

关于如何调试的任何想法?

回答

6

在Eclipse中,转到Windows>首选项>的Java>编译器,选择1.6。

你可能会使用1.5和1.5不允许@覆盖在接口中的方法,只是对超类方法。 1.6一样。

如果仍然不起作用,删除@覆盖线...

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

    OnTouchListener mTouchListener = new OnTouchListener() 
    { 

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

这正好解决了我的问题。对于使用maven的问题,我有1.5的默认值。谢谢! – wajiw 2010-11-30 16:49:46

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

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

,编译就好了,你肯定是没有语法错误?你有什么编译器设置? Java 5或6?

+0

Java 5中,由于使用Maven问题 – wajiw 2010-11-30 16:47:33