View Single Post
Old 16-10-2014, 21:56   #5
Pegasus84
Senior Member
 
L'Avatar di Pegasus84
 
Iscritto dal: Nov 2008
Città: Napoli
Messaggi: 846
Quote:
Originariamente inviato da [Kendall] Guarda i messaggi
Aggiungo a quanto detto (correttamente) da Gabrik, che come dice il metodo stesso la porzione di codice all'interno di doInBackground viene eseguita nel nuovo Thread creato dalla AsyncTask, mentre il codice che inserisci nei metodi onPreExecute e onPostExecute vengono eseguiti sul main thread, lo stesso che si occupa dell'interfaccia utente. Pertanto all'interno di quei metodi DEVE essere inserito tutto il codice che va, in qualche maniera, a modificare l'interfaccia utente (compreso quindi la creazione e lancio della nuova activity).

In realtà potresti chiamare lo startActivity anche dentro il codice eseguito in un altro thread, ma per farlo dovresti "barare" un pò per esempio utilizzando un Handler creato nell' UI Thread.
Il tutto però ha ben poco senso in questo caso, visto che l'AsyncTask ha già di suo dei metodi predisposti per questo.
Chiarissimo e coinciso! Grazie mille!
Pegasus84 è offline   Rispondi citando il messaggio o parte di esso