Autore Topic: Problema con ProgressBar non visualizzata  (Letto 545 volte)

Offline ale88sv

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +1
    • Google+
    • Mostra profilo
    • Le Mie Apps
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ale88sv
  • Sistema operativo:
    Windows 7 / Ubuntu 12.4
Problema con ProgressBar non visualizzata
« il: 18 Novembre 2011, 17:16:08 CET »
0
Ciao a tutti, sto cercando di mettere una progressbar per dire all'utente che sto caricando la pagina, solo che non viene visualizzata provo a postare un po' di codice.

loadinStart(fa partire un thread)

Codice (Java): [Seleziona]
           public void goNextPage(View view) {
                _currentPage++;
                loadingStart();
                _link = Util.getLinkPage(_link, _currentPage,Util.NUM_POST_FOR_THREAD);
                Log.v("snow", _link);
                enableBackButton();
                update();
        }

Codice (Java): [Seleziona]
    public void loadingStart()
    {
       
        _loading = new Thread(new Runnable() {
                       
                        public void run() {
                                showDialog(Util.LOADING_DIALOG);
                               
                        }
                });
    }

...

 case Util.LOADING_DIALOG:
                _progressDialog=ProgressDialog.show(ThreadForum.this,"","Caricamento in corso...",true);
            return _progressDialog;

        }

....

//quando update finisce chiama

    public void loadingStop()
    {
        _progressDialog.cancel();
        _loading.stop();
    }
   

non viene visualizzato nulla, la mia idea era che quando viene caricata la pagina si veda questo alert e quando la pagina finisce vada via..

consigli !?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema con ProgressBar non visualizzata
« Risposta #1 il: 18 Novembre 2011, 18:29:50 CET »
+1
Dal codice mostrato non mi viene in mente niente, anche perchè gli unici esperimenti che ho fatto con il caricamento dati da web e progressbar sono stati con AsyncTask. A tal proposito ti riporto il collegamento del tutorial che avevo fatto a suo tempo: [facile] HttpBookSearch: AsyncTask, HttpClient, XML parsing, ProgressDialog - Android Developers Italia
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline teskio

  • Moderatore globale
  • Utente normale
  • *****
  • Post: 387
  • Respect: +118
    • Github
    • Google+
    • Mostra profilo
    • Skullab
  • Dispositivo Android:
    Cubot GT99 / SurfTab Ventos 10.1
  • Play Store ID:
    Skullab Software
  • Sistema operativo:
    windows 7 / ubuntu 12.04
Re:Problema con ProgressBar non visualizzata
« Risposta #2 il: 19 Novembre 2011, 01:43:23 CET »
+1
Creai un thread per mostrare la ProgressBar ? Concettualmente non è molto corretto, poichè l'interfaccia grafica viene già eseguita in un thread...mentre quello che dovrebbe essere separato è il recupero dei dati, nel tuo caso la richiesta http :

Codice: [Seleziona]
UI
+---------------------------------------------------+
|-> visualizzo la progressBar                       |
|-> richiesta dati -> Thread separato               |
+---------------------------------------------------+
Thread di lavoro
+---------------------------------------------------+
| -> elaborazione dei dati                          |                   
| -> invio notifica di fine lavoro                  |
+---------------------------------------------------+
UI
+---------------------------------------------------+
| <- ricezione notifica dal Thread                  |
| -> elimino la progressBar                         |
+---------------------------------------------------+

Oppure puoi "chiedere" alla UI di mostrare la progressBar dal Thread di lavoro....comunque dovrebbe essere l'elaborazione dei dati ad essere separata dalla UI e non viceversa altrimenti blocchi la UI fintanto che i dati non sono stati elaborati...e questo ad Android non piace :-P

Offline ale88sv

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +1
    • Google+
    • Mostra profilo
    • Le Mie Apps
  • Dispositivo Android:
    Galaxy Nexus
  • Play Store ID:
    ale88sv
  • Sistema operativo:
    Windows 7 / Ubuntu 12.4
Re:Problema con ProgressBar non visualizzata
« Risposta #3 il: 19 Novembre 2011, 12:55:24 CET »
0
Ho seguito il tutorial ed ho creato un AsynkTask che mi fa le varie operazioni !!

Grazie mille .. segno risolto ma volevo chiedervi un'altra cosa.. è meglio ( prestazionalmente parlando ) istanziare ogni volta un nuovo asynkstask , oppure averne uno globale e fare ogni volta execute ? (a mio parere la seconda .. ma aspetto conferme )

Grazie di nuovo !!!

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
  • Respect: +164
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:Problema con ProgressBar non visualizzata
« Risposta #4 il: 19 Novembre 2011, 13:25:10 CET »
0
La prima. Gli AsyncTask sono pensati per non essere riutilizzati.
Postate il LogCat LogCat LogCat LogCat LogCat