Ver la Versión Completa : [ CONSULTA ] Pausa dentro de un IF
marellanor
29/08/14, 06:35:42
Es posible hacer una pausa dentro de un IF?. Si es posible, cómo sería?.
Saludos y Gracias!
rafaxplayer
29/08/14, 08:06:52
por ejemplo:
SystemClock.sleep(1000);
kriogeN
29/08/14, 12:19:25
Eso es un mata apps, úsalo sólo si tu IF está en otro Thread que no sea el UI.
marellanor
29/08/14, 18:20:33
Lo que pasa es que tengo un if que compara 2 imágenes(memorice.) Obtengo la primera(seteo imagen). Obtengo la segunda(seteo imagen). Si son diferentes las vuelvo a esconder. Pero lo que pasa que la segunda imagen no se alcanza a ver. Intente hacer la pausa antes de volver a esconderlas, pero no funciona, como que se ejecuta todo junto.
Adjunto codigo.
public void GirarImagen(ImageView img) {
if(ingreso==0)
{
anterior=img.getId();
ingreso=1;
String uri = Opciones[img.getId()];
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
Drawable image = getResources().getDrawable(imageResource);
img.setImageDrawable(image);
}
else
{
String uri = Opciones[img.getId()];
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
Drawable image = getResources().getDrawable(imageResource);
img.setImageDrawable(image);
if(Opciones[anterior]!=Opciones[img.getId()])
{
String uri2 = "drawable/signointe";
int imageResource2 = getResources().getIdentifier(uri2, null, getPackageName());
Drawable image2 = getResources().getDrawable(imageResource2);
SystemClock.sleep(1000);
img.setImageDrawable(image2);
ImageView img_anterior = (ImageView) findViewById(anterior);
img_anterior.setImageDrawable(image2);
ingreso=0;
}
else
{
ingreso=0;
}
}
kriogeN
29/08/14, 19:05:12
Por lo que estoy diciendo, paras el hilo UI, por lo que tu aplicación se para y no pinta nada, hasta que la función entera no termina no se ejecuta el siguiente onDraw.
marellanor
29/08/14, 19:07:55
y cómo lo tendría que hacer entonces. No tengo idea como hacerlo.
Te lo agradecería bastante.
kriogeN
29/08/14, 19:25:40
Prueba con un CountDownTimer
http://developer.android.com/reference/android/os/CountDownTimer.html
marellanor
29/08/14, 20:02:12
//Girar Imagenes
public void GirarImagen(ImageView img) {
//Toast.makeText(getApplicationContext(), "ID: "+img.getId(),Toast.LENGTH_SHORT).show();
if(ingreso==0)
{
anterior=img.getId();
ingreso=1;
String uri = Opciones[img.getId()];
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
Drawable image = getResources().getDrawable(imageResource);
img.setImageDrawable(image);
}
else
{
String uri = Opciones[img.getId()];
int imageResource = getResources().getIdentifier(uri, null, getPackageName());
Drawable image = getResources().getDrawable(imageResource);
img.setImageDrawable(image);
new CountDownTimer(3000, 1000) {
public void onTick(long millisUntilFinished) {
}
public void onFinish() {
//mTextField.setText("done!");
}
}.start();
if(Opciones[anterior]!=Opciones[img.getId()])
{
String uri2 = "drawable/signointe";
int imageResource2 = getResources().getIdentifier(uri2, null, getPackageName());
Drawable image2 = getResources().getDrawable(imageResource2);
img.setImageDrawable(image2);
ImageView img_anterior = (ImageView) findViewById(anterior);
img_anterior.setImageDrawable(image2);
ingreso=0;
}
else
{
ingreso=0;
}
}
try {
}
}
Lo puse así, supongo que está mal, porque no me funcionó.
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.