onBackPressed位置更新android
我有一个问题。我有2个MapActivity。首先,我在地图上显示一些地方,并让我的listView与那些地方。当我点击listView时,它会打开第二个地图,并在地图上显示一个地方,并在该地点的某些信息下显示。更新位置很好,但是当我按下“后退”按钮时,它会显示未更新位置的第一个活动。我的问题是如何在第二次按下按钮时在第一次活动中更新位置?这是我做了什么:onBackPressed位置更新android
@Override
public void onBackPressed() {
Intent data = new Intent();
data.putExtra("Latitude", location.getLatitude());
data.putExtra("Longitude", location.getLongitude());
setResult(RESULT_OK,data);
super.onBackPressed();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == request_Code){
if(resultCode == RESULT_OK){
Location location = new Location(provider);
location.setLatitude(data.getDoubleExtra("Latitude", 0));
location.setLongitude(data.getDoubleExtra("Longitude", 0));
listener.onLocationChanged(location);
}
}
super.onActivityResult(requestCode, resultCode, data);
}
这是解决我的问题
在第一项活动中,通过startActivityForResult()
开始第二项活动。然后执行onActivityResult()
更新您的位置。
我这样做......再看看我的帖子......我改变了...... – Jovan
您可以用下面的代码覆盖onResume()
:
@Override
protected void onResume() {
super.onResume();
// update your location here
}
这就是所谓的每一个活动得到恢复时间 - 在你的情况下,当你进入细节视图时会暂停,并在你回去时恢复。
我想到了这一点,但是我怎样才能将我的新位置转到onResume? – Jovan
没错,没有让你在那里。你应该按照jainal的建议,沿着startActivityForResult()的方向使用一些东西。 –
我修复它...创建新的位置实例...感谢人 – Jovan
添加为您的问题的答案。 – Ronnie
接受最能帮助您的答案 – Sameer