I'm developing a map application but I keep getting this error when I try to fetch latlng from Firebase, I don't understand it and don't know how to solve.
Error :
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255) at java.util.ArrayList.get(ArrayList.java:308) at fr.divdev.maphadev.MapsActivity.initMarkers(MapsActivity.java:120) at fr.divdev.maphadev.MapsActivity.onMapReady(MapsActivity.java:74) at com.google.android.gms.maps.zzak.zza(Unknown Source) at com.google.android.gms.maps.internal.zzaq.dispatchTransaction(Unknown Source) at com.google.android.gms.internal.maps.zzb.onTransact(Unknown Source)
The getLocationList()
code:
public List < Location > getLocationList() {
final List < Location > list = new ArrayList < > ();
DatabaseReference f_database = FirebaseDatabase.getInstance().getReference().child("location");
f_database.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot child:
dataSnapshot.child("Loisir").child("lieu").child("latlng").getChildren()) {
double lat = Double.parseDouble(child.child("latitude").getValue().toString());
double lng = Double.parseDouble(child.child("longitude").getValue().toString());
list.add(new Location("location", new LatLng(lat, lng)));
Log.e("erreur", "********");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return list;
}