Frage

Ich erhalte eine Fehlermeldung versucht, eine OnTouchListener zu implementieren:

  

Das Verfahren OnTouch (Ansicht, Motion)   vom Typ neue View.OnTouchListener () {}   außer Kraft setzen muss eine übergeordnete Klasse Methode

Ich habe keine Ahnung, warum es nicht funktioniert, wie es scheint, ich bin overrriding die Methode richtig:

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

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

Alle Ideen, wie ich das Debuggen kann?

War es hilfreich?

Lösung

In Eclipse geht auf Windows> Voreinstellungen> Java> Compiler und 1.6 wählen.

Sie könnten 1.5 verwenden, und 1.5 erlauben kein @Override auf Schnittstellen Methoden, sondern nur auf Oberklasse-Methode. 1.6 der Fall ist.

Wenn es immer noch nicht funktioniert, entfernen Sie die @Override Linie ...

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

    OnTouchListener mTouchListener = new OnTouchListener()
    {

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

Andere Tipps

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

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

, die kompiliert ganz gut, sind Sie sicher, dass es keine Syntaxfehler? Was sind Sie Compiler-Einstellungen? Java 5 oder 6?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top