Lo primero gracias por tu respuesta y tu tiempo.
Lo segundo es que está solucionado, al depurar he visto lo siguiente:
List<Geofence> triggeringGeofences = geofencingEvent.getTriggeringGeofences();
String geofenceTransitionDetails1 = getGeofenceTransitionDetails(geofenceTransition, triggeringGeofences);
//String[] geofenceTransitionDetails = geofenceTransitionDetails1.split(",");
String[] geofenceTransitionDetails = geofenceTransitionDetails1.split("\\s*,\\s*");
for (int i=0; i<geofenceTransitionDetails.length; i++) {
enviarDatos(geofenceTransitionDetails);
}
private void enviarDatos(String nombreNoti) {
for(int x=0;x<sortedKeys.size();x++) {
if((sortedKeys.get(x)).equals(nombreNoti)) {
ti tulo=TITULO_LANDMARKS.get(sortedKeys.get(x));
break;
}
}
El problema estaba en la igualdad sortedKeys.get(x)).equals(nombreNoti) que solo se cumplía para el primer elemento del array String[] geofenceTransitionDetails y luego dejaba de cumplirse para los demás. Esto era debido por lo que he visto en el debug a que el primer elemento del bucle era por ejemplo:
sortedKeys.get(x) = "Tapas y comida rápida El Puchero". Y
nombreNoti = "Tapas y comida rápida El Puchero"
Pero en el segundo:
sortedKeys.get(x) = "Alojamiento Alexis". Y
nombreNoti = " Alojamiento Alexis". Nota que hay un espacio detrás de las primeras comillas. Esto es debido a que tenía puesto:
[] geofenceTransitionDetails = geofenceTransitionDetails1.split(",");
que dejaba ese espacio entre la coma del primer elemento y el segundo con lo que no se cumplía la igualdad. Así que he eliminado los espacios de la siguiente manera:
String[] geofenceTransitionDetails = geofenceTransitionDetails1.split("\\s*,\\s*");
Gracias otra vez.
Lo segundo es que está solucionado, al depurar he visto lo siguiente:
List<Geofence> triggeringGeofences = geofencingEvent.getTriggeringGeofences();
String geofenceTransitionDetails1 = getGeofenceTransitionDetails(geofenceTransition, triggeringGeofences);
//String[] geofenceTransitionDetails = geofenceTransitionDetails1.split(",");
String[] geofenceTransitionDetails = geofenceTransitionDetails1.split("\\s*,\\s*");
for (int i=0; i<geofenceTransitionDetails.length; i++) {
enviarDatos(geofenceTransitionDetails);
}
private void enviarDatos(String nombreNoti) {
for(int x=0;x<sortedKeys.size();x++) {
if((sortedKeys.get(x)).equals(nombreNoti)) {
ti tulo=TITULO_LANDMARKS.get(sortedKeys.get(x));
break;
}
}
El problema estaba en la igualdad sortedKeys.get(x)).equals(nombreNoti) que solo se cumplía para el primer elemento del array String[] geofenceTransitionDetails y luego dejaba de cumplirse para los demás. Esto era debido por lo que he visto en el debug a que el primer elemento del bucle era por ejemplo:
sortedKeys.get(x) = "Tapas y comida rápida El Puchero". Y
nombreNoti = "Tapas y comida rápida El Puchero"
Pero en el segundo:
sortedKeys.get(x) = "Alojamiento Alexis". Y
nombreNoti = " Alojamiento Alexis". Nota que hay un espacio detrás de las primeras comillas. Esto es debido a que tenía puesto:
[] geofenceTransitionDetails = geofenceTransitionDetails1.split(",");
que dejaba ese espacio entre la coma del primer elemento y el segundo con lo que no se cumplía la igualdad. Así que he eliminado los espacios de la siguiente manera:
String[] geofenceTransitionDetails = geofenceTransitionDetails1.split("\\s*,\\s*");
Gracias otra vez.