AsynkTask in eigener Java Datei implementieren

  • Hallo zusammen,


    ich habe in einer neuen Java Klasse "NewsDownloadTask" AsynkTask extended. In dieser Klasse lade ich News von einem XML Feed runter und geben sie in einer List von Newsobjekten zurück.


    Anschließend möchte ich onPostExecute() von AsynkTask overriden und dort Anweisungen ausführen, die die View in meiner Activity, in der ich den NewsDownloadTask instanziere und ausführe, aktualisieren.


    Da NewsDownloadTask aber in einer eigenen Klasse gebaut wurde, habe ich dort den Context oder die Activity nicht zur Verfügung. Wie kriege ich den Context da rein? Muss ich NewsDownloadTask um einen Konstruktor, der das Activity Objekt oder Context annimmt erweitern?


    Wie macht man das?

  • Hoi,


    in deinem Fall ist es wohl am bequemsten einfach die View zu übergeben, in der du deine NewsItems anzeigen willst.


    Hab mal grad einen AsyncTask von mir raus gesucht, an dessen Beispiel man das recht schön sieht. Nimm statt der ImageView einfach deine View



    Hab mal das nicht relevante zeug weitesgehend raus geworfen aber du siehst, ich übergebe einen String und eine ImageView. Der String ist der Pfad zu einem Bild, das ich mir lade. Wenn die doInBackground fertig ist, ist das bitmap gesetzt und ich kann es in der onPostExecute in meine ImageView einsetzen.


    In deinem Fall wäre der String wohl die URL zum RSS-Feed / zur XML Datei und die ImageView irgend eine Liste, der Rest ist ziemlich ähnlich ;)



    Gruß,
    matze

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!