Arraylist im AsyncTask an andere Activity übermitteln

  • Wie kann ich von einem asynctask, welches über dem UI-thread ausgeführt wird, einen arrayList an eine ListActitvity übermitteln? Ich bekomme stets nullpointerException (keine ahnung warum). Habe mir inzwischen alles genau angeschaut und finde den Fehler einfach nicht.


    die onPostExecute-Methode des AsyncTasks sieht so aus:



    habe auch über den log eintrag result gecheckt : ist ein Stringarray, also alles ok.


    die ListActivity:


    Fehelrmeldung:


    Was mache ich falsch?? :-/


    Und eine allgemeine Verständnisfrage: Wieviele lists sollte eine anwendung höchstens erstellen? gibt es dafür irgendwelche speziellen regeln oder grenzbereiche, was die performance angeht? Also ab welcher Anzhal es einfluß auf die performance hätte. Destor mehr lists, desto mehr speicher also mehr aufwand -> outofMemory??
    Oder ist das schlicht egal!?

  • Was steht denn in der MainActivity in Zeile 231?


    Zitat

    04-23 17:45:14.863: E/AndroidRuntime(11116): at com.example.testproject.MainActivity$CreateSongList.onPostExecute(MainActivity.java:231)


    Um die Performance und den Speicherverbrauch der Listen würde ich mir Sorgen machen, wenn du damit Probleme bekommst. Da jede Liste ja nur eine Referenz auf ein Objekt hält sind die nicht so unglaublich groß wie man annehmen könnte.

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Was für Probleme könnten das z.B. sein lucas?? Wenn die app abstürzt?? Also ich habe keine Probleme (bis jetzt :) ). Habe nebenbei gefragt, weil mich das interessiert hat.


    in zeile 231 steht: playListActivity.playlist.add(result.get(j));


    Also das, was in der onPostExecute-Methode steht

  • Wie und wo rufst du den AsyncTask auf?


    Entweder deine playListActivity im AsyncTask ist null oder deine playlist in der PlayListActivity ist null. Du prüfst zwar bei playlist, ob es null ist oder nicht, aber es steht nirgends eine Initialisierung (andere Stelle? Wobei dann die onCreate keinen Sinn mehr macht).
    Außerdem frage ich mich was MainActivity für eine Klasse ist? Keine Ableitung von Activity (evtl vergessen?). Und was macht PlayListActivity playListActivity; in der Klasse? Rufst von der Activity den Konstruktor auf?


    block_

  • Morgen block_,


    ja hast recht, habe einiges vergessen vom code (sry).


    Also die mainActivity erweitert eine FragmentActivity, also MainActivity extends FragmentActivity. habe aber den Fehler gefunden. Die klasse PlayListActivity wird ja erst durch einen button-klick aufgerufen. Daher kann ich in der onPostExecute-Methode die liste nicht übertragen, da die Klasse noch nicht existiert (liege ich da richtig?? :-[ :-[ ).
    habe es so gelöst:



    durch den button-klick, welches die liste aufrufen soll, wird die listsAllSongsFromGenre-methode aufgerufen. funktioniert wunderbar ;)

Jetzt mitmachen!

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