Java 如何获取Arraylist的第一个值
我正在制作地图v2。我想将纬度和经度转换成文本地址,所以我使用Geocoder类来定位地址。现在的问题是,当我使用列表时,它给出了很多令人困惑的位置。可能是位置列表。我只想检索其中的第一个位置,并将该位置传递给另一个活动。我该怎么做?请帮忙。这是紧急情况。下面是我的代码:Java 如何获取Arraylist的第一个值,java,android,eclipse,google-maps,android-activity,Java,Android,Eclipse,Google Maps,Android Activity,我正在制作地图v2。我想将纬度和经度转换成文本地址,所以我使用Geocoder类来定位地址。现在的问题是,当我使用列表时,它给出了很多令人困惑的位置。可能是位置列表。我只想检索其中的第一个位置,并将该位置传递给另一个活动。我该怎么做?请帮忙。这是紧急情况。下面是我的代码: try { Geocoder gcd = new Geocoder(this, Locale.getDefault()); List<Address> addresses = gcd.get
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();
}
我只需要列表中的第一个值。这可以通过
addresses.get(addresses.size()-1)
addresses.get(addresses.size()-1)
编辑:标题显示OP编辑前的最后一个值
要回答新问题:
addresses.get(0)
那么addresses.get0有什么问题?addresses.getaddresses.size-1?请明确您想要哪个值?第一个还是最后一个?@dhruti很抱歉这个不恰当的问题……我想要第一个值。并将该值传递到另一个活动中..请帮我..?@mystic_knight这意味着arraylist根本没有数据。请调试并检查未获取数据的原因。它给出一个错误:09-17 06:35:13.666:E/AndroidRuntime1602:由以下原因引起:java.lang.IndexOutOfBoundsException:索引0无效,大小为0表示数组列表没有数据。。请检查您的代码和清单权限。如何将该地址字符串传递到另一个活动中…请告诉我know@mystic_knight你应该为此提出一个新问题。
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) {}