2014-09-17 6 views
-5

Я работаю над картой v2. Я хотел преобразовать широту и долготу в текстовый адрес. Поэтому я использовал класс Geocoder для определения адреса. Теперь проблема в том, что когда я использовал List, он дает так много запутанных мест. Возможно, это список мест. Я хочу получить только первое место среди них и передать это местоположение другому действию. Как я могу это сделать? Пожалуйста, помогите.У него есть код:Как получить первое значение Arraylist

try { 
    Geocoder gcd = new Geocoder(this, Locale.getDefault()); 
     List<Address> addresses = gcd.getFromLocation(dmylats, dmylong, 1);   

     if (addresses.size() > 0) 
      Toast.makeText(this, "You are at "+addresses,Toast.LENGTH_LONG).show(); 
} catch (IOException e1) { 
    // TODO Auto-generated catch block 
    e1.printStackTrace(); 
} 

Я просто хочу первое значение среди Списка.

+2

Так что ong с 'address.get (0)'? –

+6

'address.get (addresses.size() - 1)'? – Blackbelt

+0

И, пожалуйста, ясно, какое значение вы хотите? Первый или последний? –

ответ

3

Это могут быть заархивированы с помощью

addresses.get(addresses.size()-1) 

Edit: название говорит "последняя значение", прежде чем редактировать OP в ...

Чтобы ответить на новый вопрос:

addresses.get(0) 
+0

как я могу передать эту адресную строку в другое действие ... plz скажите мне, если u знаете –

+0

@mystic_knight Вы должны открыть для себя новый вопрос. –

0
try { 
      // Get the location manager 
locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
       Criteria criteria = new Criteria(); 
       bestProvider = locationManager.getBestProvider(criteria, false); 
       Location location = locationManager 
         .getLastKnownLocation(bestProvider); 
       double lat = location.getLatitude(); 
       double lon = location.getLongitude(); 
       Geocoder gc = new Geocoder(this); 
       List<Address> lstAdd = gc.getFromLocation(lat, lon, 1); 
       Address ad = lstAdd.get(0); 
       String str = ad.getAddressLine(0); 
      TToast.makeText(this, "Your current location is " + str, 
        Toast.LENGTH_LONG).show(); 

} catch (Exception e) {} 
+0

это дает ошибку: 09-17 06: 35: 13.666: E/AndroidRuntime (1602): Caused by: java.lang.IndexOutOfBoundsException: Неверный индекс 0, размер 0 –

+0

Значит, что список массивов не имеет данных .. Пожалуйста, проверьте ваши права на код и манифест. – Andy

Смежные вопросы