2番目のマップアクティビティを開始するときは、ズームレベルをインテントの余分として保存します。それを2番目のマップアクティビティにロードし、それに応じてズームレベルを設定します。
最初のマップのアクティビティに保存:秒で
Intent map2Intent = new Intent(this, Map2Activity.class);
map2Intent.putExtra("zoomLevel", mapView.getZoomLevel());
startActivity(map2Intent);
ロード:
Bundle extras = getIntent().getExtras();
if (extras != null) {
int zoom = extras.getInt("zoomLevel");
mapView.setZoomLevel(zoom);
}
EDIT:あなたの質問を再読み込み
した後、私は私が誤解を実現。この
SharedPreferences settings = getPreferences(0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("zoomLevel", mapView.getZoomLevel());
editor.commit();
が、その後REQUEST_CODE
は、あなたがどこに識別するために後で使用する整数であるstartActivityForResult(Intent, REQUEST_CODE
で活動を開始するように地図2から復帰した地図1内の同じズームレベルを取得するには、SharedPreferencesに値を保存することができ戻って来ている。次に、onActivityResultメソッドを実装します。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case CHANGE_BUILDING:
SharedPreferences settings = getPreferences(0);
mapView.setZoomLevel(settings.getInt("zoomLevel", 0));
}
}