마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

일반 클래스에서 실행시킨 Activity의 result값 받아오기

0 추천
액티비티간에는 액티비티.startActivityForResult를 써서 호출한 액티비티의 결과값을 setResult에 넣으면

해당 액티비티로 그 데이터를 받을수 있는건 알고 있습니다..

근데 일반 클래스에서 호출한 액티비티의 결과값을, 호출한 일반 클래스에서 받을 수 있는 방법은 없을까요?

알려주세요...
익명사용자 님이 2014년 5월 20일 질문
시나리오를 조금 더 구체적으로 알려주시면 답변에 도움이 될거 같아요~ 일반클래스에서 액티비티를 호출하고 거기서 작업하여 얻은 결과값을 왜? (무슨용도로) 다시 일반클래스에서 받아서 처리하고 싶은가
startActivityForResult 에 사용된 context를 가진 activity로 result가 넘어갑니다. 다시 말해 activity가 아닌 일반 클래스에서는 받을 수 없다는 얘기죠.
음.. 제 생각에는 어렵게 생각하지마시고 startActivityForResult 도 단지 액티비티 클래스간 콜백함수로 지정되어있는거니까~ 만약 일반 클래스로 비유하면 A 클래스로부터 호출된 B 클래스가 작업을 완료하고 finish 하면서 다시 A 클래스의 함수를 호출하는 것과 같아요. 즉, 결과 값을 원하는 클래스에게 함수를 쓰든 변수를 쓰든 필요한 시점에 전달해주면 되는거에요. 물론 구현 방법은 다양하겠지만 가장 쉬운 예로는 static 변수를 쓸 수 있겠지용

1개의 답변

0 추천
일반 class 에서만 받아야 한다는 전제 조건이 없으면,

일반 class의 root 는 Activity가 될것이고 여기서 result를 받아서 일반 class로 전달 해주면 될 듯 합니다.
카라드레스 (2,910 포인트) 님이 2014년 5월 26일 답변
...