Skip to content
Advertisement

List DataModel reads just the last element

I have a database created with location updates and in the database there is a bunch of locations x and y. and in the second method readFirestore() reads the location data and compares the favorite locations which came from sqlite database and if the favorite location is near the data from firestore it writes the campaign name which is on the same location to another database. But when I want to compare the favorite location in the firestore methot, there is just the last item of the database. I looked with the Log.

Code 1:

Code 2:

Advertisement

Answer

If I understand correctly: the listFavoriteLocation method properly retrieves the data you’re expecting from the database. If you take a look at the rest of your code, you’ll see that you are iterating over the list of data and overwriting your instance variables with them, one-by-one, until the list has been fully iterated over, meaning you will only preserve the last element in your instance once you’ve left the method.

So, to be clear, the following block will properly log every element, but only the values of the last element will be preserved in the two instance variables you’re using (FAVCurrentLocationLAT and FavCurrentLocationLong):

What you need to do is use the returned data list being loaded in the listFavoriteLocation method, and then manipulate it in the following code as you wish.

So, for example:

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement