티스토리 뷰

액티비티에서 프래그먼트를 생성할 때 값을 전달해야 할 때가 있다

간단하게 생성자를 이용해서 전달하려고 했지만 안드로이드에서 이러한 방식이 지원되지 않는다

따라서 Bundle 객체를 이용해서 전달하는 방법을 이용한다

 

MyFragment myFragment = new MyFragment();

Bundle bundle = new bundle(1); // 파라미터의 숫자는 전달하려는 값의 갯수
bundle.putString("key", "value");
myFragment.setArgument(bundle);

이와 같이 코드를 입력하면 액티비티에서 프래그먼트로 값이 전달된다

 

이 값을 이용하기 위해서 프래그먼트에선 간단한 코드 한 줄로 얻어낼 수 있다

String str;

Bundle bundle = getArgument();

if (bundle != null) {
	str = bundle.getString("key");
}

이제 이 값을 프래그먼트에서 이용하면 된다