|
||
|
|
|
|||||||
| 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
|
||||
|
||||
|
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 |
|
|
|
#2
|
||||
|
||||
|
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 ;) |
|
#3
|
||||
|
||||
|
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. |
![]() |
Estás aquí
|
||||||
|
||||||