2012-03-02 3 views
0

私は現在レイアウトを持っていますが、これには場所の追加ボタンがあります。現在のレイアウトは、すべての値が追加されると投稿要求を送信するフォームです。場所の追加は値の1つです。 addLocationボタンをクリックすると、別のアクティビティ、つまりMapActivityが呼び出されます。これは、map_layout.xmlと呼ばれる別のレイアウトを表示するところです。ここでは、ユーザーが望む場所を入力したり、ズームイン/アウトしたり、複数のオーバーレイなどを自由に入力することができます。mapActivityの処理中にエラーが発生しました。これを行うより良い方法はありますか?

しかし、これは異なるアクティビティとレイアウトです。したがって、私は以前の活動の文脈を失ってしまった。緯度と経度をこのアクティビティに戻すにはどうすればいいですか?

または、同じアクティビティ内にマップの相対レイアウトを配置することができます(場所の追加ボタン上)。クリックすると何かが開きます。

最大の問題は、MapViewを開くためにMapActivityが必要であることです。しかし、私は最初の活動でRoboActivityを使用しています。私は自分の苦境についてはっきりしていたことを願っています。

答えて

1

あなたRoboActivityからstartActivityForResultを使用することができます:あなたはこのようにデータを返すことができますMapActivityで

final int MAP_ACTIVITY = 1; 

Intent intent = new Intent(getApplicationContext(), RoboActivity.class);              
startActivityForResult(intent, MAP_ACTIVITY); 

Intent returnIntent = new Intent(); 
returnIntent.putExtra("latitude", fltLatitude); 
returnIntent.putExtra("longitude", fltLongitude); 
setResult(RESULT_OK, returnIntent); 
finish(); 

をあなたがonActivityResult実装する必要がRoboActivityでこれらの結果を取得するには:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 

if (resultCode == RESULT_OK) { 

switch (requestCode) { 
    case MAP_ACTIVITY: 
     float fltLatitude = data.getFloatExtra("latitude", 0); 
     float fltLongitude = data.getFloatExtra("longitude", 0); 
    break; 
} 
} 
+0

ありがとうございました! RoboMapActivityを使用する別の方法も試しました。私がそこに着くエラーは、「あなたはMapAvitivityに単一のMapViewを持つことは許されていません」 – Hick

+0

私はそれが同じビューで地図を表示する方法クーラーだろうと思った。 – Hick

関連する問題