2016-09-27 2 views
-1

액티비티 A가 있습니다. 액티비티 안에는 F1이라는 하나의 프래그먼트가 있습니다. 그 프래그먼트 안에는 다른 프래그먼트 F2가 있습니다. F2에서 나는 startActivityForResult (/ Activity B /)를 호출하고 나서 B. F2 작업의 onActivityResult()가 호출되었지만 F1에서 같은 일이 일어나길 원합니다. Fragment F1은 Activity B가 끝난 이벤트를 가져와야합니다. 이 문제에 대한 도움을 주시면 감사하겠습니다.액티비티의 결과를 프래그먼트로 보내는 방법

+0

콜백 메소드에서 다른 조각화 된 메소드 F1을 호출 할 수 있습니다. –

+0

오브젝트를 작성하고 다른 프래그먼트의 메소드를 직접 호출하는 것은 바람직하지 않습니다. – Jagadeesh

+1

네, 그 인터페이스를 사용할 수 있습니다. –

답변

0

안녕하세요 당신은 조각의 onActivityResult를() 메소드 활동의

onActivityResult() Method. 

그냥 확인 전화에서 현재 조각 양식 조각 관리자를 얻을 필요가있다.

CustomFragment fragment = (CustomFragment) getFragmentManager().findFragmentByTag(getFragmentManager().getLastBackStackEntry()); 
fragment.onActivityResult(); 

이 기술을 사용할 수 있습니다.

0

F2 조각의 전화 번호는 StartActivityForResult입니다. 결과가 F2으로 되돌아가는 것을 원하지 않으므로 대신 F1 조각에 해당 메소드를 호출해야합니다.

실제로 어떤 작업을하고 있는지 확인하는 것이 좋습니다.

0

질문에 따르면 F2는 F1의 하위 조각입니다.

그래서 당신은 다음과 같이 단편 F2에서에 startActivityForResult 메소드를 호출 할 수있는 경우 : 이제

getParentFragment().startActivityForResult(intent, requestCode); 

을 두 번째 작업을 완료 할 때, 자동으로하여 onActivityResult() 부모 단편 방법 (즉, 조각 F1을 호출합니다).

관련 문제