2011-01-03 4 views
2

검색 API에서 시작된 활동이 있습니다. startActivityForResult와 비슷한 방법으로 검색이 실행되었을 때 실행중인 활동에 일부 값을 "반환"하고 싶지만 어떻게해야하는지 알 수 없습니다. 어떤 제안?Android : 검색 API를 사용하여 startActivityForResult와 동일한 작업 수행

활동 A -> (startActivity를) -> 활동 B -> (검색) -> 활동 C -> (귀국일) -> 활동 B

순간 내가 시작 해요 값을 사용하는 활동 B의 새 인스턴스 이것은 작동하지만, 활동 스택이 있어야하는 방식은 아닙니다. 즉, B에서 뒤로 누르면 C가 아닌 B, A 대신 A로 돌아갑니다.

이 방법에 대한 제안이 있으십니까?

+0

A는있다 : A -> B는 사실에 startActivityForResult하지 startActivity를 사용, 그래서 필요 원본 B에서 결과를 다시 전달하므로 새로 작성할 수 없습니다. – spookypeanut

답변

0

저는 B와 C를 결합하는 해결책을 내놓았습니다. 별도의 검색 처리 작업 대신 B가 검색을 처리하고 그 결과가 포함 된 대화 상자를 팝업 할 수 있습니다. 그것은 우아하게 느껴지지 않습니다. 차라리 별개의 것을 가지고 싶지만 제가 찾을 수있는 최선의 해결책입니다. 이것은 물론, 그것이 작동한다고 가정하고 있지만, 나는 (내 특별한 상황에서) 그것에 대한 이유를 현재 볼 수 없다.

편집 : 코드는 다음과 같습니다. EditLocation는 GetLocationMap 난 그냥 내가 위에서보고 해결 방법 내 경우에는 작동하지 않습니다 깨달았다 B

https://github.com/spookypeanut/Wake-Me-At/tree/e0dde4153c375c20bec3d7201b4faac2300f5956

0

이 방법도 알고 싶습니다. 내가 생각할 수있는 유일한 장애는 B에서 public static 변수를 사용하여 결과를 다시 전달한 다음, B가 onResume() 메소드에서 결과를 처리하면서 해당 변수를 설정 한 후 C call finish()를 수행하는 것입니다.

관련 문제