Fragment끼리 데이터를 주고 받고 싶을 때,

Fragment에서는 인텐트로 전달이 되지 않기 때문에

Bundle을 통해 데이터를 보내야 한다.

예를 들어 Activity가 Fragment A, Fragment B를 가지고 있고,
Fragment A에서 Fragment B로 데이터를 옮기고 싶다면...
Fragment A의 데이터를 Activity로 옮겼다가, Fragment B로 옮겨줘야 합니다.

이 경우,
Fragment를 add할 때, Bundle값을 추가하여 해결 할 수 있습니다.
 
1
2
3
4
5
// 전송할 데이터 저장
Bundle arguments = new Bundle();
arguments.putString("name", member_list[position]);
MemberListDetail member_list_detail = new MemberListDetail();
member_list_detail.setArguments(arguments);


1
2
3
4
5
6
7
// 내용 교체하기
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.addToBackStack("Wapple");
fragmentTransaction.hide(MemberList.this);
fragmentTransaction.add(android.R.id.content, member_list_detail);
fragmentTransaction.commit();



1
2
3
4
5
// 데이터 가져오기
String name = getArguments().getString("name");
EditText edit_name = (EditText)rootView.findViewById(R.id.detail_name);
edit_name.setText(name);
 


Posted by 소망아기
: