Yo lo hago en el handler comprobando que ha acabado (no es necesarios
si solo usas el handler para eso pero no esta demás hacerlo bien). Y
comprobando el metodo isShowing
Algo así
private class GetURLThread extends Thread {
private URL url;
Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
int total = msg.getData().getInt("total"); //lo
creamos para pasarle el porcentaje de proceso aunque solo le pasamos
el 100%
if (total >= 100){
if(dialog.isShowing())
dialog.dismiss();
}
}
};
....
public void run() {
//Aquí haces todo tu código...
Message msg = mHandler.obtainMessage();
Bundle b = new Bundle();
b.putInt("total", 100);
msg.setData(b);
mHandler.sendMessage(msg);
//dialog.dismiss(); // NO RULABA
return;
}
Un saludo y espero que te sirva
El día 14 de marzo de 2011 14:51, Héctor
<hectorlope...@gmail.com> escribió:
Fué la primeea variante que probé, hacerlo en el Handler que, como bien dices, es donde debería hacerse y tampoco me funcionó, pero luego me ha surgido una duda sobre si estaba pillando bien la referencia del show, asi que al llegar a casa compararé con las versiones anteriores por si acaso...
Gracias a todos! :)