Kommunikation zwischen AsyncTask und Activity?

  • 4 Antworten
  • Neuester Beitrag
Diskutiere Kommunikation zwischen AsyncTask und Activity? im Android App Entwicklung im Bereich Betriebssysteme & Apps.
U

user7

Neues Mitglied
Hallo,

ich strauchel derzeit etwas um die Klasse AsyncTask herum...

Hab eine Klasse davon abgeleitet, deren doInBackground()-Methode ein Array von Fehlercodes zurück gibt.

Jetzt habe ich in der Doku gelesen, dass dieser Rückgabewert als Parameter an onPostExecute() übergeben wird.

Aber wie geht es danach weiter? Wie kann ich denn von onPostExecute auf meine Acitivity zugreifen und ihr die Fehlercodes weiterreichen? (Oder umgekehrt?)

Oder noch besser - gleich einen Toast mit entsprechender Fehlermeldung auf den Bildschirm zaubern? Geht das nur, indem ich dem AsyncTask ein Context-Objekt übergebe, oder gibt es da eine elegantere Lösung?

Viele Grüße,
user7
 
S

swordi

Lexikon
naja übergib dem task einfach deine activity
 
klausa2

klausa2

Erfahrenes Mitglied
Übergib die Activity als WeakReference (siehe Java Doku)
 
U

user7

Neues Mitglied
Hilft scheinbar nichts:

The method getSharedPreferences(String, int) is undefined for the type WeakReference<Context>

The method getString(int) is undefined for the type WeakReference<Context>
Edit:
Als halbe Lösung habe ich meine Activity-übergreifenden Klassen jetzt von allen Context-spezifischen Funktionen befreit. In der Activity-Klasse leite ich davon dann eine innere Klasse ab, in der ich onPostExecute() überschreibe und dort die Context-spezifischen Funktionen ausführe.

Die wenigen übrigen Funktionen, die ich in mehreren Activities gleich brauche, habe ich jetzt als public static in eine eigene Klasse gepackt und versucht, möglichst kurz zu halten. Wenn ich nur kurz die (globale) Funktion aufrufe und ihr Context als Parameter übergebe, sollte es ja keine Probleme bei der Speicherverwaltung geben, oder?

Muss aber sagen, dass ich insgesamt nicht sehr glücklich mit dieser Verpackung bin - aber es scheint ja nicht anders zu gehen?
 
Zuletzt bearbeitet:
Ähnliche Themen - Kommunikation zwischen AsyncTask und Activity? Antworten Datum
8
15