2011-08-18 6 views
0

문제가 있습니다. 나는 2 MapActivitys있다. 처음에는지도의 일부 장소를 표시하고 해당 위치의 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); 
} 

이것은 다음과 같은 코드를 사용하여 onResume()을 대체 할 수 있습니다

+0

나는 그것을 고치다 ... 위치의 새 인스턴스를 만들었습니다 ... 고마운 사람들 – Jovan

+0

ur 질문에 대한 답변을 추가하십시오. – Ronnie

+0

가장 도움이되는 답변을 수락합니다. – Sameer

답변

1

첫 번째 활동에서는 startActivityForResult()으로 두 번째 활동을 시작하십시오. 그러면 onActivityResult()을 구현하여 위치를 업데이트하십시오.

+0

나는 그것을한다. .. 다시 나의 지위를 보라. .. 나는 그것을 바꿨다. .. – Jovan

0

내 문제에 대한 솔루션입니다 : 이것은 내가 한 일이다이 활동이 재개됩니다 때마다이라고

@Override 
protected void onResume() { 
    super.onResume(); 
    // update your location here 
} 

- 귀하의 경우에는 상세보기로 가면 일시 중지되고 돌아 가면 다시 시작됩니다.

+0

나는 그것을 생각하지만 어떻게하면 내 새 위치를 onResume으로 전달할 수 있습니까 ??? – Jovan

+0

맞습니다. 거기에 당신을 데려다주지 않았습니다. jainal에서 제안한대로 startActivityForResult() 행을 따라 무언가를 사용해야합니다. –