2013-12-17 5 views
29

Ich frage mich, ob es einen Sinn hat super.onPostExecute (Ergebnis) oder super.onPreExecute in Android AsyncTask anrufen? Ich habe immer angerufen sie, aber auch in Android Dokumentation über AsyncTask (Android API Reference: AsyncTask) sie weggelassen. Macht es also Sinn, wenn ich sie anrufe oder nicht?Sollte ich super.onPostExecute (Ergebnis) in Android AsyncTask nennen?

+0

nicht Sie den Anruf an die Super – Blackbelt

+0

weglassen muss nicht, aber es ist besser, Sie tun – Raghunandan

Antwort

46

Nein, es gibt keine Notwendigkeit, die übergeordnete Klasse zu nennen. Wenn Sie einen Blick auf die Quelle AsyncTask nehmen, sehen Sie, dass die Super-Klasse tut nichts:

@SuppressWarnings({"UnusedDeclaration"}) 
protected void onPostExecute(Result result) { 
} 
+0

Sie eine Antwort danken! – Andranik

+0

aber, wie kann ich dann das Ergebnis zurück, so kann ich ('.execute() get();.)' Es in anderer Tätigkeit? –

3

Es hat keine Wirkung, wenn Sie sie nennen oder nicht, becase beide leer Implementierung haben in AsyncTask und sie sind da nur damit Sie sie überschreiben können, aber Sie nicht dazu gezwungen werden.