Hola, tengo que obtener la latitud y la longitud para meterlos en un MapView.
Lo obtengo de una base de datos que está alojada en un servidor por lo que hago una petición a la base de datos.
Mi problema es que la primera vez funciona perfecto pero las siguientes me da latitud y longitud 0.0 porque una parte del código se ejecuta antes que otra. Algunas veces puede llegar a funcionar de forma algo aleatoria.
Me da la sensación que se debe a que el código sigue ejecutándose aunque aunque no se haya recibido los datos de la base de datos. Pero lo que me extraña es que la primera vez funciona correctamente pero si en android voy a la Activity anterior pulsando el botón "Atrás" típico de Android y vuelvo a lanzar la activity entonces se me ejecuta una parte del código antes que otra.
Para saber que se va ejecutando antes he hecho algunos System.out.println().
Os pongo las fotos de lo que sucede.
Subo el .java a este link ya que es un poco largo aunque realmente lo que me interesa es la zona de "latitud, longitud, cliente.get, y mapview" del MapVieW.
https://we.tl/EEbPwRSbm7
Y aquí os dejo las fotos de los System.out.println() que se van ejecutando.
No entiendo porque en ambas ejecuciones no se ejecuta primero la parte de cliente.get .... y además en la primera ejecución obtengo resultados distintos a la segunda.
Primera ejecución
https://subefotos.com/ver/?87cc582d1...bo.jpg#codigos
Segunda ejecución al volver a la activity anterior, hacer un click y volver de nuevo a la activity mostrarinfoanuncio..
https://subefotos.com/ver/?dc2fdd4e2...fo.jpg#codigos
Espero que alguien me pueda ayudar porque me saca de quicio este historia
Un saludo a todos!