AsyncTask - Progressbar Problem

  • Hallo Leute,
    Ich bin neu hier und wollt ma wissen ob mir jemand mein kleines Problem mit der Progressbar Lösen kann.
    Ich hab schon en paar sachen versucht, komme aber einfach nicht auf die Lösung.


    Ich möchte, dass die Progressbar am Ende um eins hochzählt bei einer TextView, die in der gleichen App steckt aber in einer anderen Aktivity.
    Hört sich etwas kompliziert an, muss man ein wenig um die Ecke denken, aber ich schätze ma ihr versteht was ich meine.
    Im Grundsatz will ich, dass eine Progressbar jedes mal wenn sie auf 100 ist, bei einer TextView +1 macht.


    Hier der Code:



    Schonmal jetzt danke für eure hilfreichen Antworten ^^

  • Ich weiß ja nicht ob die Idee so gut ist, in einem neuen Thread auf eine UI Komponente zuzugreifen…


    Interessant wäre zu wissen, wie das zu Grunde liegende Datenmodell aussieht.
    Du kannst Deiner Activity in einem Intent den anzuzeigenden Wert als Extra übergeben.
    Oder Du trägst den Wert in eine Datei/Datenbank ein und Dein anderes Intent lädt diese Daten einfach.


    Oder oder oder.


    Am Besten umreißt Du einmal kurz, was genau Du eigentlich vor hast und wie weit Du Dein Datenmodell geplant hast.

    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!«

  • Danke erstmal für deine Antwort.


    Ich habe eine MainActivity in der mehrere fragments als tab vorliegen, ich kann also in der Activity am oberen Bildschirmrand zwischen den fragments wechseln.
    Das 1.fragment beinhaltet nur Text, nichts besonders.
    Das 2.fragment beinhaltet 4 buttons die 4weitere Activitys starten, in diesen Activitys sind die progressBars untergebracht, die auch soweit gut funktionieren.
    Ich will halt, dass wen die progressBar zuende gelaufen ist, auf einer TextView (die in der MainActivity steckt) um eins hochgezählt wird, jedesmal wenn die
    progressBar halt zuende gelaufen ist.


    Ich hoffe es ist jetzt verständlicher und du kannst mir vllt. eher helfen. Am besten wärs wenn du mir nen Code als Lösung senden würdest.
    Weil ich mit dem Text den du geschrieben hast nicht so ganz klar komme. :D


    Danke schonmal :)

  • Danke für den Tipp, nur weiß ich nicht so ganz genau was ich mit der AsyncTask anfangen soll.
    Bin grad etwas überfordert, denn ich finde nur Beispiele auf Google, wo sachen mit AsyncTask gedownloadet werden, indem man nen button drückt.
    Vllt. kannst du mir ja noch en bissl weiterhelfen, wäre nett :)
    Danke dir :D

  • Das wichtige bei der Programmierung ist nicht irgendwelche Codeschnipsel zu nehmen und zu probieren bis es geht (wenngleich auch das ein gewissen anteil des Lernprozesses ausmacht), das wichtige ist es sich dachen durchzulesen und zu verstehen. Bevor du dir also irgendwelche Codebeispiele anschaust, solltest du dir erstmal die Google Dokumentation zu AsyncTask durchlesen und schauen, was der denn überhaupt macht und ist.


    Es nützt dir nix wenn wir dir nun die Lösung herklatschen, dabei hast du nix gelernt.

  • Kiodok
    Deine PN ist zwar angekommen, aber das Forum lässt sie mich immer noch nicht lesen.
    Du müsstest also hier rein schreiben. ;)

    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!«

  • Ich schau mir immer erst ein Beispiel an und versuche es anhand von dem zu verstehen, meistens wenns dann funktioniert, weiß ich auch warum usw.
    Aber danke für die Info :).

    Das du das machst, ist schon richtig. Das ist aber den zweiten Schritt vorm ersten machen. Erst solltest du dich über das Prinzip belesen und dann Beispiele dazu anschauen.


    @Marco, geht mir genauso, da stimmt wohl was nicht. Habs in dem zugehörigen Thread auch gepostet.

  • Ich habs jetzt en paar Stunden lang probiert, aber immer wenn ich die TextView um 1 hochsetzen möchte, stürzt die App ab. Bzw. ich kann in der anderen Activity gar keine TextView ansprechen, nicht mal eine in der gleichen Activity. Wenn ich das versuche, stürzt die App ab, wie schon gesagt.

  • Naja da ich das ganze nur als Hobby nebenbei mache und nich so viel zeit habe, habe ich bis jetzt eig. nur die letzten Zeilen verändert. Wenigstens setzt sich die progressbar jez bei 100 zurück und man kann sie erneut starten.
    Vllt. kannst du mir ja ne Lösung für mein Problem geben :)

  • Also ich hab mich jez ma mit dem AsyncTask beschäftigt und bin soweit gekommen.


    Als ich "new MormaKaugummi().execute();" eingefügt habe ging es dann nicht mehr. Ich weiß aber nicht wo ich es sonst hinsetzen sollte, damit es funktioniert. Wenn ich die Progressbar jetzt durchlaufen lasse, stürzt die App am Ende mit der Fehlermeldung "Unfortunately, Criminal Life has stopped."
    (Die App heißt Criminal Life)


    Das hier ist die logcat
    (nachdem die Progressbar durchgelaufen ist)

  • Zitat

    task can be cancelled at any time by invokingcancel(boolean). Invoking this method will cause subsequent calls to isCancelled() to return true. After invoking this method, onCancelled(Object), instead of onPostExecute(Object) will be invoked after doInBackground(Object[]) returns. To ensure that a task is cancelled as quickly as possible, you should always check the return value ofisCancelled() periodically fromdoInBackground(Object[]), if possible (inside a loop for instance.)

Jetzt mitmachen!

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