A라는 Fragment에 B라는 DialogFragment를 띄웠습니다.
B에서 어떤 데이터를 바꾸고 A의 Fragment화면에서도 갱신을 하고 싶은데..
B는 DialogFragment이기 때문에 화면이 사라져도 A의 Fragment 생명주기를 다시 타지 않더라구요.
BroadCast를 써서 B화면이 없어질 때 A에게 날려주면 되긴 하는데, 혹시 다른 방법이 없을까요?
조언부탁드립니다 ^_^
다음과 같이 B라는 dialogFragment를 show() 를 호출할 때 호출하는 A라는 fragment를 targetFragment로 지정하고
B_DialogFragment B =
new
B_DialogFragment();
B.setTargetFragment(A_Fragment.
this
,
0
);
B.show(ft,
"someTag"
B_DialogFragment에서 필요한 때(다이얼로그를 닫는다거나 버튼이 눌렸을 때 등)에 다음과 같은 구문을 실행합니다.
getTargetFragment().onActivityResult(
null
그러면 A_tFragment에서 다음과 같이 내용을 전달받을 수 있습니다.
@Override
public
void
onActivityResult(
int
requestCode,
resultCode, Intent data) {
super
.onActivityResult(requestCode, resultCode, data);
someMethod();
}