【问题标题】:Error with OnTouchListenerOnTouchListener 出错
【发布时间】:2011-05-17 23:47:13
【问题描述】:

尝试实现 OnTouchListener 时出错:

方法onTouch(View, MotionEvent) 类型为 new View.OnTouchListener(){} 必须重写超类方法

我不知道为什么它不起作用,因为我似乎正确地覆盖了该方法:

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

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

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

【问题讨论】:

    标签: android ontouchlistener


    【解决方案1】:

    在 Eclipse 中,转到 Windows>Preference>Java>Compiler 并选择 1.6。

    您可能正在使用 1.5,而 1.5 不允许在接口方法上使用 @Override,而只允许在超类方法上使用。 1.6 可以。

    如果还是不行,删除@Override 行...

    public class MyActivity extends Activity
    {
        ...creation code etc...
    
        OnTouchListener mTouchListener = new OnTouchListener()
        {
    
            public boolean onTouch(View v, MotionEvent event)
            {
                     ...touch code...
                }
            }
    }
    

    【讨论】:

    • 这解决了我的问题。我将 1.5 作为 maven 问题的默认值。谢谢!
    【解决方案2】:
    View.OnTouchListener mTouchListener = new View.OnTouchListener() {
    
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                return false; 
            }
        };
    

    编译得很好,你确定没有语法错误吗?你是什​​么编译器设置? java 5 还是 6?

    【讨论】:

    • Java 5 因为 maven 的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多