Ich möchte eine Anwendung, die die aktuelle Adresse erhält; Name des Landes, Name der Stadt und Name des Distrikts. Und dann habe ich 3 Spinner, die alle Landnamen, Stadtnamen und Distriktnamen auf Türkisch haben.Adresse kommt von Geocoder ist in Englisch
Wenn ich die Adresse mit GPS und Geocoder bekomme, möchte ich sie mit den Namen in meinen Spinner übereinstimmen.
Das Problem ist die Adresse von Geocoder kommt in Englisch. Und so passt es nicht zu meinen Ländern in meinem Spinner. Also kann ich mit programmatisch kein echtes Land auswählen.
Hier mein zugehöriger Code ist:
//In here I add countries coming from web service into countries array.
for(int i=0;i<responseInfo.size();i++) {
String name = responseInfo.get(i).getName();
countries.add(name);
//If country name is equals to country name coming from gps
//then I hold it in selectedCountry variable.
//But "Turkey" != "Türkiye" so this if block does not work
if(name.equalsIgnoreCase(foundAddress.getCountryName()))
{
selectedCountryId = (String)responseInfo.get(i).getId();
selectedCountry = responseInfo.get(i);
}
}
//In this method, when I get country name from the item in addresses array
//it returns in English
public List<Address> findAddressFromLatLng(double latitude, double longitude)
{
Geocoder geocoder;
List<Address> addresses = null;
geocoder = new Geocoder(this, Locale.getDefault());
try {
addresses = geocoder.getFromLocation(latitude, longitude, 1);
} catch (IOException e) {
e.printStackTrace();
}
if ((addresses != null) && (addresses.size() != 0)) {
return addresses;
}
return null;
}
In einem anderen Gerät, habe ich kein Problem. Country Name kommt von Geocoder ist auf Türkisch (was bedeutet, dass Geocoder auch türkische Namen haben). Wahrscheinlich liegt es an der Sprache der Geräte.
Ich habe versucht, diese Zeile zu ändern, aber ich kann nicht Türkisch als locale finden:
geocoder = new Geocoder(this, Locale.getDefault());
Vielen Dank im Voraus.
Danke! Genau das brauche ich =) – Hilal
Gern geschehen! – Egor