سؤال

أحصل على خطأ في محاولة لتنفيذ onTouchListener:

يجب أن تتجاوز طريقة OnTouch (عرض ، MotionEvent) من نوع العرض الجديد. ontouchListener () {}

ليس لدي أي فكرة عن سبب عدم عمله لأنه يبدو أنني أتجاوز الطريقة بشكل صحيح:

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

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

أي أفكار حول كيف يمكنني تصحيح هذا؟

هل كانت مفيدة؟

المحلول

في Eclipse ، انتقل إلى Windows> تفضيل> جافا> مترجم وحدد 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; 
        }
    };

هذا يتجمع على ما يرام ، هل أنت متأكد من عدم وجود أخطاء في بناء الجملة؟ ما هي إعدادات التحويل البرمجي؟ جافا 5 أو 6؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top