- BlankFragment2 -> BlankFragment1 으로 데이터 전송

 

 . BlankFragment2 

   : 버튼 클릭시 BlankFragment1 으로 데이터 전송

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fragment_blank2, container, false);

    // 버튼 클릭시 BlankFragment1 로 데이터 전송
    Button button = view.findViewById(R.id.send_button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Bundle result = new Bundle();
            result.putString("bundleKey", "result");
            getParentFragmentManager().setFragmentResult("requestKey", result);
        }
    });

    // Inflate the layout for this fragment
    return view;
}

 

.BlankFragment1

   : 전송된 데이터 받아서 처리

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (getArguments() != null) {
        mParam1 = getArguments().getString(ARG_PARAM1);
        mParam2 = getArguments().getString(ARG_PARAM2);
    }

    // 다른 Fragment 에서 전송한 데이터 수신
    getParentFragmentManager().setFragmentResultListener("requestKey", this, new FragmentResultListener() {
        @Override
        public void onFragmentResult(@NonNull String requestKey, @NonNull Bundle result) {
            Log.d("Fragment1", requestKey + " " + result.getString("bundleKey"));
        }
    });
}

+ Recent posts