Android: ProgressDialog no se muestra

Estoy tratando de crear un ProgressDialog para una aplicación Android (sólo una simple que muestra al usuario que las cosas están sucediendo, sin botones o nada), pero no puedo hacerlo bien. He estado a través de foros y tutoriales, así como el ejemplo de código que viene con el SDK, pero sin éxito.

Esto es lo que conseguí:

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(); 

También he intentado agregar pd.show(); Y desordenado con el parámetro en el new ProgressDialog resultando en nada en absoluto (excepto los errores que el parámetro elegido no funcionará), lo que significa: el ProgressDialog nunca aparecerá. La aplicación sigue funcionando como si nunca hubiera añadido el diálogo.

No sé si estoy creando el diálogo en el lugar correcto, lo moví un poco, pero que, también, didnt't ayuda. Tal vez estoy en el contexto equivocado? El código anterior está dentro de private ViewGroup _createInputForm() en MyApp .

Cualquier sugerencia es apreciada,

Usted tiene que llamar pd.show antes de que comience el cálculo largo y entonces el cálculo tiene que funcionar en un hilo de rosca separado. Tan pronto como termine este hilo, debe llamar a pd.dismiss () para cerrar el cuadro de diálogo prgoress.

Aquí puedes ver un ejemplo:

El diálogo de progreso se crea y se muestra y se llama a un hilo para ejecutar un cálculo pesado:

 @Override public void onClick(View v) { pd = ProgressDialog.show(lexs, "Search", "Searching...", true, false); Search search = new Search( ... ); SearchThread searchThread = new SearchThread(search); searchThread.start(); } 

Y aquí el hilo:

 private class SearchThread extends Thread { private Search search; public SearchThread(Search search) { this.search = search; } @Override public void run() { search.search(); handler.sendEmptyMessage(0); } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { displaySearchResults(search); pd.dismiss(); } }; } 

Te estoy dando una solución para ello, Prueba esto … Primero defina el cuadro de diálogo Progreso en el método Actividad antes onCreate ().

Private ProgressDialog progressDialog;

Ahora, en el método oncreate, puede hacer que el botón Any haga clic en el que u cambiará Activit en cualquier acción. Simplemente establezca la barra de progreso allí.

 progressDialog = ProgressDialog.show(FoodDriveModule.this, "", "Loading..."); 

Ahora Usa hilo para Presionar la barra de progreso para mostrar y ocultar

 new Thread() { public void run() { try { sleep(1500); // do the background process or any work that takes time to see progreaa dialog } catch (Exception e) { Log.e("tag",e.getMessage()); } // dismiss the progressdialog progressDialog.dismiss(); } }.start(); 

¡Eso es todo!

Progreso cuadro de diálogo no se muestra porque tiene que utilizar un subproceso separado. Las mejores prácticas en Android es utilizar AsyncTask (muy recomendable). Véase también esta respuesta .

Esto también es posible utilizando AsyncTask . Esta clase crea un hilo para ti. Debe subclase y rellenar el doInBackground(...) .

  • Android: "BadTokenException: No se puede agregar ventana; Está funcionando su actividad? "Al mostrar el diálogo en PreferenciaActividad
  • ProgressDialog creado desde onCreateDialog deja de animar en segunda ejecución
  • ¿Cómo mostrar el diálogo de progreso antes de iniciar una actividad en Android?
  • Por qué Android Circle Progress Dialog Cómo se congela cuando un montón de datos Sincronización de servidor a DB local mediante Retrofit
  • Cuadro de diálogo de progresión personalizada de centrado
  • Intervalo de progreso de la interfaz de usuario
  • Android Make ProgessDialog Uncloseable
  • Fragmento de carga de hiladora / diálogo en Honeycomb
  • ¿Cómo puedo mostrar y eliminar un diálogo de progreso de Android?
  • Android - Descargas de archivos grandes detener - utilizando async / progressdialog
  • Cómo deshabilitar / activar el botón de diálogo de progreso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.