Sto provando a creare un ProgressDialog per un'applicazione Android (solo uno semplice che mostra all'utente che sta accadendo qualcosa, nessun pulsante o altro) ma non riesco a farlo bene. Ho consultato forum e tutorial oltre al codice di esempio fornito con l'SDK, ma senza risultati.Android: ProgressDialog non mostra
Questo è quello che ho ottenuto:
btnSubmit.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
(...)
ProgressDialog pd = new ProgressDialog(MyApp.this);
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setMessage("Working...");
pd.setIndeterminate(true);
pd.setCancelable(false);
// now fetch the results
(...long time calculations here...)
// remove progress dialog
pd.dismiss();
Ho anche provato ad aggiungere pd.show();
e pasticciato con il parametro in new ProgressDialog
conseguente nulla (tranne gli errori che il parametro prescelto non funziona), significato: ProgressDialog non si presenterà mai. L'app continua a funzionare come se non avessi mai aggiunto la finestra di dialogo.
Non so se sto creando la finestra di dialogo nel posto giusto, l'ho spostato un po ', ma anche questo non ha aiutato. Forse sono nel contesto sbagliato? Il codice sopra riportato è all'interno di private ViewGroup _createInputForm()
in MyApp
.
Qualsiasi suggerimento è apprezzato,
Ho ricostruito la mia app per ottenere questo risultato :) Le esercitazioni che ho letto sembrano essere possibili senza un altro thread, ma non si smette mai di imparare. Non ho finito completamente: ora il ProgressDialog non mostra dove dovrebbe (almeno mostra!), Ma semplicemente "lampeggia" poco prima che i risultati arrivino, ma ora penso di poter fare il resto da solo;) Grazie mille per il vostro aiuto! – Select0r
Solo per completare questo, nel caso qualcuno sia interessato: il "flashing" di ProgressDialog è qualcosa che accade solo nell'emulatore, non si verifica sul dispositivo reale. Sembra che l'emulatore impieghi un paio di secondi prima che la richiesta (onClick) venga effettivamente elaborata e l'app si blocca fino a quando ciò non si verifica. Sul dispositivo, tutto ok. – Select0r
perché non usiamo pd = new ProgressDialog (this); pd.show() ;? – Emerald214