Mi aplicación obtiene algún código html de Internet y cuando termina, lo muestra en la pantalla de dispositivos. Dado que demora entre 3 y 4 segundos en hacerlo, en este momento en que la pantalla permanece en negro, me gustaría utilizar un cuadro de diálogo de progreso. Este es mi código:Diálogo de progreso de Android
package com.nextlogic.golfnews;
// ALL THE IMPORTS ....
public class Activity1 extends Activity {
private ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main2);
progressDialog = ProgressDialog.show(Activity1.this, "", "Loading...");
new Thread()
{
public void run()
{
try
{
sleep(2000);
// HERE I'VE PUT ALL THE FUNCTIONS THAT WORK FOR ME
}
catch (Exception e)
{
Log.e("tag",e.getMessage());
}
// dismiss the progressdialog
progressDialog.dismiss();
}
}.start();
El programa funciona pero ya no muestra nada. Tengo un error en logcat:
Only the original thread that created a view hierarchy can touch its views.
¿Podría ayudarme? Gracias por adelantado.
Las respuestas dadas son correctas, pero me gustaría agregar algo. ProgressDialogs tiene 2 estilos: STYLE_SPINNER (predeterminado) y STYLE_HORIZONTAL. De acuerdo con los [ui diálogos] (http://developer.android.com/guide/topics/ui/dialogs.html) debemos seguir las [pautas de diseño para Progreso y Actividad] (http://developer.android.com /design/building-blocks/progress.html) y usa un STYLE_HORIZONTAL (si es relevante y posible). Sobre este asunto encontré [este tutorial] (http://www.pavanh.com/2013/04/android-progress-dialog-example.html) muy útil. Ahora tiene la opción del estilo de ProgressDialog que desea ... –