Ошибка при работе с mapActivity.Есть лучший способ сделать это? - PullRequest
0 голосов
/ 02 марта 2012

Теперь у меня есть макет с кнопкой добавления местоположения. Текущий макет представляет собой форму, которая отправляет запрос на публикацию после добавления всех значений. Добавление местоположения является одним из значений. Когда я нажимаю кнопку addLocation, я вызываю другое действие, которое является MapActivity. Здесь я отображаю другой макет с именем map_layout.xml, где я позволяю пользователю свободно вводить местоположение, которое он / она хочет, увеличивать и уменьшать масштаб, многократные наложения и все такое.

Но это другой вид деятельности и макет. Таким образом, я потерял контекст предыдущего действия. Как я могу отослать широту и долготу обратно к этой активности?

Или возможно ли иметь относительное расположение карты внутри того же действия (На кнопке Добавить местоположение), которое при нажатии открывает что-то.

Самая большая проблема - MapActivity требуется для открытия MapView. Но я использую RoboActivity в моей первой деятельности. Я надеюсь, что я был довольно ясно о моем затруднительном положении.

1 Ответ

1 голос
/ 02 марта 2012

вы можете использовать startActivityForResult из вашей RoboActivity:

final int MAP_ACTIVITY = 1;

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

В вашей MapActivity вы можете возвращать такие данные:

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

Чтобы получить эти результаты в RoboActivity, вам нужно реализовать onActivityResult:

@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;
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...