For some reason the implementation of getMaxAddressLineIndex has recently changed. Now this method returns 0 for line 1.
I have an existing code, which used to work: i<address.getMaxAddressLineIndex(
). However, it is broken somehow.
I don't know if it is due to the new Google Api or something else.
Can someone please confirm me here what is going on?
I had the same issue and this just a workaround.
if (address.getMaxAddressLineIndex() > 0) {
for (int i = 0; i < address.getMaxAddressLineIndex(); i++) {
addressFragments.add(address.getAddressLine(i));
}
} else {
try {
addressFragments.add(address.getAddressLine(0));
} catch (Exception ignored) {}
}
Hope this help
The same happened to me. I verified that Developer Reference (https://developer.android.com/reference/android/location/Address.html#getMaxAddressLineIndex()) now states:
int getMaxAddressLineIndex ()
Returns the largest index currently in use to specify an address line. If no address lines are specified, -1 is returned.
So it seems to reflect the new behaviour.
Anyway, to be safe, I'm going to enclose getAddressLine(i)
inside try\catch
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With