我遇到了一个错误,试图实现OnTouchListener:

类型新View.OntouchListener(){}的方法ONTOUCH(视图,MotionEvent)必须覆盖超类方法

我不知道为什么它不起作用,因为我看来我正确地推翻了该方法:

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

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

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

有帮助吗?

解决方案

在Eclipse中,转到Windows>“偏好”> Java>编译器,然后选择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...
            }
        }
}

其他提示

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

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

汇编很好,您确定没有语法错误吗?您是什么编译器设置? Java 5还是6?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top