Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 02/05/11, 16:56:44
Avatar de athlit
athlit athlit no está en línea
Miembro del foro
Mensajes: 112
 
Fecha de registro: jul 2008
Mensajes: 112
Mencionado: 1 comentarios
Tagged: 0 hilos
ProgressDialog & dismiss()

Hola a todos,
soy nuevo en Android y estoy peleandome con el ProgressDialog y no veo sentido alguno al poco caso que me hace la instrucción dismiss(), algo estaré haciendo mal seguro:

Tengo una Activity(1) que pasa una información a otra Activity(2), ésta al mostrarse ya muestro lo siguiente:

[php]
ProgressDialog = new ProgressDialog(this);
ProgressDialog.show(this, "Cargando datos....", "Cargando");
[/php]Y cuando he cargado los datos en esta Activity(2) intento quitar el ProgressDialog con un:

[php]
ProgressDialog.dismiss();
[/php]Resultado?

Se me queda el ProgressDialog permanentemente con el "Cargando datos...."

¿Alguien sabe como puedo desactivarlo?
¿Que es lo que estoy haciendo mal?

Gracias a todos y un saludo.

Athlit
Responder Con Cita


  #2  
Viejo 09/05/11, 08:54:55
Avatar de fitahxc
fitahxc
Usuario invitado
Mensajes: n/a
 
Mensajes: n/a
Mencionado: comentarios
Tagged: hilos
Buenas tio! Tuve el mismo problema y lo solucione de la siguiente manera, te pego el codigo para que te sea mas facil:

public class conectar extends Activity {
private TextView in_mostrar;
private final Handler handler = new Handler();
private final Runnable dismisProgDialog = new Runnable(){
public void run(){
in_mostrar.setText(mostrar);
progDailog.dismiss();

}
};
private String mostrar ="";
private ProgressDialog progDailog = null;

/** Called when the activity is first created. *
@override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

in_mostrar = (TextView) findViewById(R.id.mostrar);


calc.setOnClickListener(new OnClickListener() {

@SuppressWarnings("static-access")
public void onClick(View v) {

progDailog = ProgressDialog.show(conectar.this,"Cargando...", "Obteniendo resultados para la consulta: Linea "+linea+"; Parada "+parada+". Por favor espere...",true,false);



new Thread(new Runnable() {
public void run() {
try{
//CODIGO QUE QUIERAS EJECUTAR
}
Log.d("Conectar", mostrar);


} catch (Exception e) { //Try del Thread
// TODO Auto-generated catch block
e.printStackTrace();
}

finally {
handler.post(dismisProgDialog);
};

}//run

}).start(); //Thread

} //calc.onclick
});//calc.onclick
} //oncreate


Basicamente necesitar ejecutar el codigo que quieras en un hilo independiente del del progressDialog y la instruccion .dismiss se la dejas a un handler. Pruebalo a ver que tal te va ;)
Responder Con Cita
  #3  
Viejo 09/05/11, 11:29:48
Avatar de athlit
athlit athlit no está en línea
Miembro del foro
Mensajes: 112
 
Fecha de registro: jul 2008
Mensajes: 112
Mencionado: 1 comentarios
Tagged: 0 hilos
Hola fitahxc,
muchas gracias por contestar. Efectivamente, con el código que me has puesto ya me ha funcionado! El tema está en enviar el mensaje al Handler y pararlo desde ahí!

Muchas gracias por todo y un saludo!!

Athlit.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 17:34:27 (GMT +1)

Cookies settings
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007