# ... musst override a superclass method



## m3ndax (2. Dez 2011)

Hallo, könnte mir vielleicht jemand sagen warum dass so nicht funktioniert?

```
package de.text.saghallo;

import java.util.Locale;

import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;

public class SagHalloActivity extends Activity implements OnInitListener {
	
	private TextToSpeech tts;
	   

	    
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);        
        tts = new TextToSpeech(this, this);
     
    }   
    
    @Override
    public void onInit(int arg0) { //<----
    		tts.setLanguage(Locale.GERMAN);
    		tts.speak("Hallo!", TextToSpeech.QUEUE_FLUSH, null);
    	}

}
```

An der markierten Stelle bringt er mir die Fehlermeldung die oben im Betreff beschrieben ist...
Ich habe diese aufgabe aus einem einsteiger buch für android.

Danke für eure Hilfe


----------



## eRaaaa (2. Dez 2011)

Laut TextToSpeech.OnInitListener | Android Developers
gibt es nur die eine Methode und die hast du meines Erachtens korrekt implementiert, sollte also eig. kein Fehler geben. Mal versucht erneut zu speichern / zu kompilieren?


----------



## m3ndax (2. Dez 2011)

Ich habe auch extra den Titel 1:1 aus dem Buch übernommen. Aber es Funktioniert nicht... Ich habe extra schon alles gespeichert geschlossen, wieder geöffnet usw. aber es funktioniert nicht =/


----------



## m3ndax (2. Dez 2011)

Kann man sonst außer am Quellcode irgendetwas falschmachen? 
Bzw vergessen?


----------



## Marcinek (2. Dez 2011)

Wenn du ein Interface implementierst, dann darf da kein @Overrids dran stehen.


----------



## m3ndax (2. Dez 2011)

Danke es hat funktioniert... aber genau mit @Override steht es in meinem buch...


----------



## Marcinek (2. Dez 2011)

Nur weil es in einen Buch steht, bedeutet das nicht, dass es die absolute Wahrheit / Korrektheit ist.

Immer alles sinnvoll kritisch hinterfragen ;D


----------



## tfa (2. Dez 2011)

m3ndax hat gesagt.:


> Danke es hat funktioniert... aber genau mit @Override steht es in meinem buch...



In Java 5 war es noch verboten, @Override bei implementierten Interface-Methoden zu benutzen. Mit Java 6 hat sich das geändert. Wahrscheinlich kompilierst du gegen Java 5.


----------



## schlingel (3. Dez 2011)

> Wahrscheinlich kompilierst du gegen Java 5


Was du nicht tun solltest! Google blieb relativ lang bei Java 5 obwohl es seitens Oracle bzw. Sun schon als Deprecated gekennzeichnet war. Um den März herum hat dann Google sein Android SDK nachgezogen und du solltest das auch tun.


----------

