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 10/09/14, 15:43:38
Avatar de loadgo
loadgo loadgo no está en línea
Miembro del foro
Mensajes: 37
 
Fecha de registro: oct 2012
Mensajes: 37
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Repetir bucle

Buenas tengo un codigo con un contador y le dijo que hasta que el contador llegue a 5000 vaya sumando contador+=1 y que cuando llegue a 5000 cambie un cuadro de posicion y vuelva a empezar, pero el "vuelva a empezar" es lo que no consigo, no consigo que cuando contador sea igual a 0 vuelva a ejecturar el while y el if de nuevo.

Lo he probado con continue pero tampoco.

Alguien sabe como lo podria hacer?

Muchas gracias.

Código:
public class MyActivity extends Activity {

    ImageView img;
    int cordx;
    int cordy;
    int cont=0;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my);

        //Inicializamos el objeto ImageView
        img = (ImageView) findViewById(R.id.imageView);

        while(cont<=5000) {
            cont++;

            if (cont >= 4000) {
                //Random para que la imagen cambie de posicion aleatoriamente
                Random random = new Random();
                cordx = random.nextInt(1000);
                cordy = random.nextInt(800);

                RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(150, 150);
                img.setLayoutParams(layoutParams);
                layoutParams.leftMargin = cordx;  //XCOORD
                layoutParams.topMargin = cordy;  //YCOORD
                cont = 0;
               
            }
        }
    }

}
Responder Con Cita


  #2  
Viejo 10/09/14, 17:51:11
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Lo que no se es como ni siquiera tu Activity se llega a mostrar, tienes un ciclo infinito en el onCreate. Si el objetivo es que el While no termine nunca, no veo fallos, pero desde luego ese código en Android lo único que va a hacer es mostrarte una pantalla en negro y a los pocos segundos decirte que la aplicación está colgada y si quieres Esperar o Forzar Cierre.
Responder Con Cita
  #3  
Viejo 10/09/14, 18:15:28
Avatar de loadgo
loadgo loadgo no está en línea
Miembro del foro
Mensajes: 37
 
Fecha de registro: oct 2012
Mensajes: 37
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
no doy pie con bola...como podria hacer un bucle que me cambie las coordenadas aproximademente cada 3 o 4 segundos?

He estado mirando tutoriales de Java pero este caso en concreto no lo he visto.

Muchas gracias por tu tiempo y perdona si las preguntas son estupidas
Responder Con Cita
  #4  
Viejo 10/09/14, 18:22:24
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Hay muchas formas, pero así a bote pronto podrías crear un hilo (o un AsyncTask que no termine nunca) y cada 4 segundos haces el cambio (si usas un hilo mediante un Handler, si usas el AsyncTask en el onProgressUpdate).

También puedes usar un CountDownTimer con finalización en 5 horas (no creo que alguien vaya a tener la aplicación abierta más de 5 horas, aunque no se si hay tiempo máximo para el CountDownTimer, pero en la página de Google no menciona nada al respecto) y Tick de 4 segundos, y en el onTick haces el cambio.
Responder Con Cita
  #5  
Viejo 10/09/14, 23:56:46
Avatar de loadgo
loadgo loadgo no está en línea
Miembro del foro
Mensajes: 37
 
Fecha de registro: oct 2012
Mensajes: 37
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Muchas gracias crack por tu paciencia
Responder Con Cita
  #6  
Viejo 12/09/14, 14:37:15
Avatar de loadgo
loadgo loadgo no está en línea
Miembro del foro
Mensajes: 37
 
Fecha de registro: oct 2012
Mensajes: 37
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Perdona por mi ignorancia pero me podrias poner un breve ejemplo por favor, lo intento hacer dentro de una estructura surfaceview pero no hay manera.

Última edición por loadgo Día 12/09/14 a las 19:07:09
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: 19:16:58 (GMT +1)

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