Visualizzazione dei risultati da 1 a 10 su 13

Hybrid View

  1. #1
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Il punto è: perché vuoi fare il get()??
    Perché sono obbligato ad attendere che il task abbia terminato tutto lo scaricamento, altrimenti mi ritrovo sono una parte delle informazioni scaricate.
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da prozac2000 Visualizza il messaggio
    Perché sono obbligato ad attendere che il task abbia terminato tutto lo scaricamento, altrimenti mi ritrovo sono una parte delle informazioni scaricate.
    Ma così con il get() comunque non puoi, perché come detto stai bloccando il UI thread. Sempre dalla documentazione ufficiale, vedo che AsyncTask ha un onPostExecute(Result) che come è descritto: "invoked on the UI thread after the background computation finishes. The result of the background computation is passed to this step as a parameter."

    Quindi puoi fare un override di questo onPostExecute per fare "qualcosa" (e nota: nel contesto del UI thread!) verso l'utente ... che so ... aggiornare una tabella .. riabilitare pulsanti .. mostrare una dialog box, ecc...
    Insomma è così che dovresti iniziare a ragionare. Secondo me devi solo comprendere bene il funzionamento e il "flusso" di esecuzione del AsyncTask.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Ma così con il get() comunque non puoi, perché come detto stai bloccando il UI thread. Sempre dalla documentazione ufficiale, vedo che AsyncTask ha un onPostExecute(Result) che come è descritto: "invoked on the UI thread after the background computation finishes. The result of the background computation is passed to this step as a parameter."

    Quindi puoi fare un override di questo onPostExecute per fare "qualcosa" (e nota: nel contesto del UI thread!) verso l'utente ... che so ... aggiornare una tabella .. riabilitare pulsanti .. mostrare una dialog box, ecc...
    Insomma è così che dovresti iniziare a ragionare. Secondo me devi solo comprendere bene il funzionamento e il "flusso" di esecuzione del AsyncTask.
    Purtroppo non credo si possa fare l'override di onPostExecute. Forse dovrei implementare un metodo interface e fare l'override di quest'ultimo...
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da prozac2000 Visualizza il messaggio
    Purtroppo non credo si possa fare l'override di onPostExecute. Forse dovrei implementare un metodo interface e fare l'override di quest'ultimo...
    Eh? Ma che stai dicendo (?)

    AsyncTask è una classe che deve essere estesa per poter definire concretamente un task (AsyncTask è abstract). E estendendola è quindi possibile ridefinire (override) onPostExecute.

    Per cortesia, documentati.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Eh? Ma che stai dicendo (?)

    AsyncTask è una classe che deve essere estesa per poter definire concretamente un task (AsyncTask è abstract). E estendendola è quindi possibile ridefinire (override) onPostExecute.

    Per cortesia, documentati.
    boh!? Provo a fare l'override e vediamo se funziona... Poi ti faccio sapere...
    Non sei qui per fare una scelta, la scelta l'hai già fatta...Ora devi comprendere le ragioni per cui l'hai fatta. Non possiamo vedere oltre le scelte che non ci sono chiare. http://www.chicercatrova2000.it

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.