试图从谷歌地图获取纬度是通过 Android 中的意图返回 null
Posted
技术标签:
【中文标题】试图从谷歌地图获取纬度是通过 Android 中的意图返回 null【英文标题】:Trying to get latitude from Google Maps is returning null through intent in Android 【发布时间】:2020-09-20 16:10:49 【问题描述】:我试图让用户通过谷歌地图选择送货地址。选择的坐标需要在文本视图中显示。我正在使用意图将所选坐标返回到上一个活动,但问题是无论我尝试什么,意图每次都返回 null。
这是应将坐标放入意图中的按钮单击事件:
AddressSelectActivity.java
confirm.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent intent = new Intent();
intent.putExtra("Latitude", latitude);
setResult(RESULT_OK, intent);
finish();
);
我正在检索 onResume() 的值:
Register.java
shipping.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
Intent mapsActivity = new Intent(v.getContext(), AddressSelectActivity.class);
startActivityForResult(mapsActivity, 1);
);
public void onActivityResult(int requestCode, int resultCode, Intent data)
super.onActivityResult(requestCode, resultCode, data);
Toast.makeText(this, "Inside onActivityResult", Toast.LENGTH_SHORT).show();
if (requestCode == 1)
if(resultCode == RESULT_OK)
Toast.makeText(this, data.getStringExtra("Latitude"), Toast.LENGTH_SHORT).show();
shipping.setText(data.getStringExtra("Latitude"));
任何人都可以提供任何指导。谢谢!
【问题讨论】:
吐司显示的纬度是否正确? @karan 不,吐司也是空的 【参考方案1】:您没有在任何地方发送 Intent,您只需创建 Intent 并调用 finish()。即使您通过调用 startActivity 发送它,它也会创建另一个注册活动实例。我想你不想实现这一目标。要向后发送数据,请查看此帖子:How to pass data from 2nd activity to 1st activity when pressed back? - android
【讨论】:
谢谢。我尝试按照您附加的链接中给出的步骤进行操作。您可以看到我所做的更改。不幸的是,问题仍然存在。函数 onActivityResult 被调用,但它返回的“纬度”仍然为空。我该怎么办:( 您将 Double 传递给 Intent 并尝试获取字符串。你应该使用 data.getDoubleExtra() 不敢相信我忽略了这一点。非常感谢您。问题解决了!!以上是关于试图从谷歌地图获取纬度是通过 Android 中的意图返回 null的主要内容,如果未能解决你的问题,请参考以下文章