Sto provando a impostare una variabile in un'attività al risultato del mio AsyncTask. Ho letto che non posso restituire una variabile e che dovrei impostare la variabile nella mia attività e quindi modificarla nel metodo onPostExecute
.In attesa di ASyncTask per finire o variabile da impostare
Il mio problema è che dopo il termine AsyncTask ho bisogno di usare quella variabile. Sto avendo problemi con questo perché tutte le soluzioni che ho provato finora causano il blocco dell'interfaccia utente e quindi non rispondono.
Quello che ho provato finora:
while (!task.isCancelled()) {
// Wait...
}
E
while (variable == null) {
// Wait ...
}
è quello che sto facendo il modo migliore per passare una variabile dal AsyncTask alla mia attività? Se è così, come posso aspettare che l'attività finisca nell'attività senza bloccare l'interfaccia utente?
Non dovresti "aspettare" per il 'AsyncTask'. Dovrebbe fare qualcosa quando è fatto, probabilmente in 'onPostExecute()'. – Eric
Nel metodo 'onPostExecute()' sto cambiando la variabile nella mia attività al risultato. Quello che sto cercando di fare è aspettare che la variabile sia cambiata. – Dan
Esattamente - non farlo. Lo stesso 'AsyncTask'' onPostExecute() 'dovrebbe avviare la serie di eventi che si desidera vengano eseguiti al termine dell'attività. Nessun altro codice dovrebbe fare affidamento su tale attività. – Eric