Problem bei Textausgabe aus einem Runnable Thread

  • Hallo,
    habe mich nun doch daran gemacht, eine App für die Anzeige von (Vektor)-Karten zu machen.
    Dazu nutze ich die die Libary mapsforge-map-0.3.0-jar-with-dependencies.jar von mapsforge (https://code.google.com/p/mapsforge/ ) Danke nochmal an CD-Wechsler für den Tipp vor 9 Monaten.....
    Funktioniert auch alles ganz gut!
    Wenn ich allerdings eine größere Track-Datei (GPX) einlade um die Daten als Spur in einem Overlay anzuzeigen dauert das halt lange....
    Deshalb habe ich dieses Einlesen in einen Extra Thread getan.


    Funktioniert alles soweit, aber wenn ich dafür sorge dass in test etwas steht stürzt die App ab (Tut uns leid..., Beenden).


    Wie kann ich den String test ausgeben, dennnwen da was drun steht, ist in der Trackdatei ein Fehler festgestellt worden beim Einlesen.
    Diesem möchte ich dem User nicht vorenthalten.


    Welchen Denkfehler mache ich?


    Mit fragenden Grüßen,
    schymura :P

  • Aus einem Thread kannst du niemals Dinge im UI-Thread ansprechen, weil du nicht weisst ob die noch da sind (Stichwort Nullpointer Exception).
    Dafür benötigst du einen Handler, welcher UI Ausgaben macht bzw. darüber kommuniziert.


    Das ist mir immer alles viel zu kompliziert, deswegen nutze ich den AsyncTask, der hat schon entsprechende Methoden dafür (zb Progress).


    http://developer.android.com/r…android/os/AsyncTask.html

  • Hallo killphil75,
    danke, ja, das war es natürlich.
    Hatte ich nicht dran gedacht, weil ja die anderen Funtionen und Methoden sauber laufenm so lange sie keine Ausgabe auf dm Schirm machen wollen......
    Falls es dich (oder jemand anders) interesssiert hier dann der Quellcode, der sauber läuft, auch ohne AsyncTask:



    Dankbare Grüße,
    schymura ^^

Jetzt mitmachen!

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