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 13/12/13, 18:31:45
Avatar de 1993CC
1993CC 1993CC no está en línea
Miembro del foro
Mensajes: 102
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 102
Modelo de smartphone: Nexus4
Tu operador: Pepephone
Mencionado: 0 comentarios
Tagged: 0 hilos
Necesito una ayudita de algun entendido

Hola buenas chicos, os espongo mi problema, estoy desarrollando un juegecillo de Android para probar y tal con la siguiente estrcutura:

Login-->Inicio| -->Jugar(Activity)-->Juego(con SurfaceView) --> Ver tu puntuacion(Activity)
|--> Como jugar(Alert)
|-->Mejores puntuaciones(Activity)
|-->Logout(Vuelve a Login)

Bien, el problema es que desde el activity de ver la puntuacion que has hecho en esa partida quiero que suba la puntuacion al servidor(esto lo tengo solucionado) y que vuelva a INICIO, entonces lo tengo hecho con un context.finish() en el SurfaceView de Juego justo despues de llamar al activity de Ver tu Puntuacion y al hacer click en el boton de continuar que tiene este activity hace otro finish y vuelve a INICIO, bien, el problema es que no se si esta mal programado asi o que pasa, que porque en el emulador funciona bien, pero en mi Nexus4 por ejemplo al hacer click en continuar se cierra ese activity pero"debajo" hay otro igual y asi 3 veces, en el movil de mi novia Samsung Galaxy Ace pasa esto pero solo 2 veces, es raro, y cansado ya que no sale ningun error y no se por donde cogerlo...

Gracias.
Responder Con Cita


  #2  
Viejo 13/12/13, 19:16:49
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
Vuelve a llamar a Inicio desde Ver tu puntuación con un startActivity, añadiéndole el flag FLAG_ACTIVITY_CLEAR_TOP.

Así el sistema eliminará todo lo que hay entre Inicio y Ver tu puntuación, eso si, será un Inicio nuevo completamente, perderás los datos que tenías ahí cuando pasaste a Jugar. Lo digo porque si pasas parámetros entre Login e Inicio, también tendrás que pasarlos entre Ver tu puntuación e Inicio.

Aún así algo debes estar haciendo mal, algún finish no debe estar puesto correctamente, pero para tu caso con la solución anterior te debe ir bien. La solución con finish entre todas las ventanas es necesaria para cuando:

1) Te interesa mantener la información que había antes.

2) La primera llamada se produjo con un startActivityForResult.

Última edición por kriogeN Día 13/12/13 a las 19:19:01
Responder Con Cita
  #3  
Viejo 13/12/13, 21:53:59
Avatar de 1993CC
1993CC 1993CC no está en línea
Miembro del foro
Mensajes: 102
 
Fecha de registro: oct 2013
Localización: Madrid
Mensajes: 102
Modelo de smartphone: Nexus4
Tu operador: Pepephone
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Vuelve a llamar a Inicio desde Ver tu puntuación con un startActivity, añadiéndole el flag FLAG_ACTIVITY_CLEAR_TOP.

Así el sistema eliminará todo lo que hay entre Inicio y Ver tu puntuación, eso si, será un Inicio nuevo completamente, perderás los datos que tenías ahí cuando pasaste a Jugar. Lo digo porque si pasas parámetros entre Login e Inicio, también tendrás que pasarlos entre Ver tu puntuación e Inicio.

Aún así algo debes estar haciendo mal, algún finish no debe estar puesto correctamente, pero para tu caso con la solución anterior te debe ir bien. La solución con finish entre todas las ventanas es necesaria para cuando:

1) Te interesa mantener la información que había antes.

2) La primera llamada se produjo con un startActivityForResult.
Pero, al volver al inicio, si el usuario le da al boton de back , con tu solucion, no volvera al login como deberia de ser no?
Responder Con Cita
  #4  
Viejo 14/12/13, 03:37:31
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
Si, para eso sirve el FLAG_ACTIVITY_CLEAR_TOP. La nueva Inicio va a estar en la misma posición que la antigua Inicio dentro del Task.
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: 03:11:35 (GMT +2)

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