如何将经度和经度从一个活动传递到另一个活动

时间:2015-05-16 10:20:04

标签: android google-maps

我想将纬度从一个活动传递到另一个活动,但我有点困惑......我已经编写了下面的代码。

点击按钮:

lat = Double.toString(latitude);
// lat = latitude;
Intent intent = new Intent(MapsActivity.this,Restaurant_List.class);
intent.putExtra("lat", lat);
startActivity(intent);

我已将lat声明为String。 latitude是已经具有值的变量double。所以我传递的是String ...

在下一页:

Intent intent = getIntent();
lat = intent.getDoubleExtra("lat", 19.666);

当然我添加了19.66,这就是为什么它只会显示。否则如果我没有把数字显示错误...

或者如果我使用getStringExtra(),它会显示默认页面,其lat与我传递的lat不匹配。我在互联网上搜索了很多但没有得到答案。

5 个答案:

答案 0 :(得分:1)

lat是转换latitude后获得的字符串值,它是实际的双精度值。因此,通过意图而不是latitude传递lat

intent.putExtra("lat",latitude);

编辑:由于上述方法对您不起作用,请尝试将您的双重内容放在一个包中。

Intent intent = new Intent(MapsActivity.this,Restaurant_list.class);
Bundle b = new Bundle();
b.putDouble("lat", latitude);
intent.putExtras(b);
startActivity(intent);

然后在您的其他活动中,执行此操作

Bundle b = getIntent().getExtras();
double lat= b.getDouble("lat");

答案 1 :(得分:1)

由于LatLng对象是Parcelable,您可以在Bundle中传递它。

在两个活动中添加导入:

import com.google.android.gms.maps.model.LatLng;

第一项活动:

Intent intent=new Intent(MapsActivity.this,Restaurant_List.class);
Bundle b = new Bundle();
b.putParcelable("location", new LatLng(latitude, longitude);
intent.putExtras(b);
startActivity(intent);

第二项活动:

Intent intent=getIntent();
LatLng latLng = intent.getParcelableExtra("location");
double lat = latLng.latitude;
double lon = latLng.longitude;

答案 2 :(得分:0)

将其更改为String并传递

String latt=String.valueOf(lat);
Intent intent=new Intent(MapsActivity.this,Restaurant_List.class);
intent.putExtra("lat",latt);
startActivity(intent);

在Restaurant_List类中,检索String并转换:

Double lat=Double.parseDouble(getIntent().getStringExtra("lat");

答案 3 :(得分:0)

    String message = String.format("New Location \n Longitude: %1$s \n Latitude:%2$s",location.getLongitude(), location.getLatitude());
    Intent intent=new Intent(MapsActivity.this,Restaurant_List.class);
    intent.putExtra("lat",message);
    startActivity(intent);
希望这可以帮到你。

答案 4 :(得分:0)

非常简单的发送和获取意图。

String lat = "10.12456521";
Intent intent=new Intent(MapsActivity.this,Restaurant_List.class);
intent.putExtra("lat",lat);
startActivity(intent);

并在您的下一个活动中。

String lat;
Intent intent = getIntent();
lat =intent.getStringExtra("lat");

并且在你进入双重之后。 感谢