Tsalikis177 Δημοσ. 23 Μαρτίου 2017 Δημοσ. 23 Μαρτίου 2017 AsyncTasks Τα 3 σημαντικά τμήματα που περιέχει είναι τα: onPreExecute, doInBackground και onPostExecute. Μιλάνε από μόνα τους για το τι κάνουν... Έχω ένα Task που κάνει Login Ασύγχρονα σε μια σελίδα και όσο διαρκεί η επικοινωνία εμφανίζει ένα ProgressDialog (απλά ένας spinner που λέει Please Wait) Έλα όμως που δεν εμφανίζεται άμεσα με το κλικ στο κουμπί!. Και όχι δεν κολλάει το UI γιατί το δοκίμασα και μια χαρά responsive είναι. Εμφανίζεται μετά από 3-4 (τυχαία) seconds. //Pseudo Code AsyncTask<,,>() { @Override protected void onPreExecute(...) { //Show Progress Dialog } protected void doInBackground(...) { // Login } protected void onPostExecute(...) { // Whatever post action } }.execute(); Καμιά ιδέα; Πιθανολογώ ότι μπλοκάρει το 'onProgressUpdate' τα πρώτα δευτερόλεπτα για κάποιον λόγο που δεν μπορώ να καταλάβω. Δεν βρήκα λύση στο StackOverflow.
MeTaXaS4 Δημοσ. 24 Μαρτίου 2017 Δημοσ. 24 Μαρτίου 2017 μπορεί να έχεις κάτι άλλο που κολλάει την διαδικασία, δοκίμασε debug ή βάλε logs για να δεις τι γίνεται.Θα σου πρότεινα όμως να μην χρησιμοποιείς AsyncTask για Internet Actions αλλά Volley.Δύσκολο πάντως να ρώτησες στο SoF και να μην πήρες απάντηση και να περιμένεις εδώ.
Tsalikis177 Δημοσ. 24 Μαρτίου 2017 Μέλος Δημοσ. 24 Μαρτίου 2017 νταξ τελικά μλκια. το βρήκα. είχα ().execute().get() που όντως μπλόκαρε το UI. μπερδεύτηκα γιατί παρόλο που η get Μπλοκάρει τo UI όταν πάταγα και 2η φορά το κουμπί ακουγόταν ο ήχος και γενικά δεν μου έδινε την εντύπωση ότι είχε κολλήσει.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα