1. Nimm jetzt an unserem AGM - Gewinnspiel teil - Informationen zum M1, A2 und A8 findest Du hier, hier und hier!
  1. samarek, 24.11.2011 #1
    samarek

    samarek Threadstarter Android-Hilfe.de Mitglied

    Hi,
    hat mal jemand eine Idee wie ich aus einem Toast heraus einen Async .... ach Quatsch, umgekehrt.
    ... wie ich aus einem AsyncTask heraus einen Toast anzeigen kann.

    Er will ja dafür dieses Looper.prepare() haben (was auch immer das ist), aber wenn ich das aufrufe zeigt er mir keinen Toast an.
    Bin schon soweit dass ich weiss dass ich es in onProgressUpdate packen muss, aber mein Problem ist halt dass der Toast eine Fehlermeldung ausgeben soll wenn beim Ausführen von dem Task eine Exception ausgelöst wird.
    Jetzt hab ich aber keine Ahnung wie ich im onProgressUpdate an die Exception komme die geworfen wird.
     
  2. Neeldarax, 24.11.2011 #2
    Neeldarax

    Neeldarax Erfahrener Benutzer

    samarek bedankt sich.
  3. samarek, 24.11.2011 #3
    samarek

    samarek Threadstarter Android-Hilfe.de Mitglied

    ahja ...
    etwas tricky, aber so ...
    Code:
    protected Boolean doInBackground(Void... params)
            {
                try
                {
                    jsonLaden("version");
                    netzwerk = liesJsonVersionen();
                    lokal = Datenbank.getVersionen();
                    versionenAktualitätsArray = lokal.vergleich(netzwerk);
                    return true;
                }
                catch (Exception exc)
                {
                    context.runOnUiThread(new Runnable()
                    {                    
                        public void run()
                        {
                            Toast.makeText(context, "Bitte prüfen sie ihre Netzwerkverbindung", Toast.LENGTH_LONG).show();
                        }
                    });
                    cancel(true);
                    context.finish();
                    Log.v("### " + this.toString(), "Fehler in Versionen", exc);
                    return false;
                }
            }
    
    hat es jetzt geklappt