마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

Fragment 관련 질문합니다.

0 추천

Fragment에서 Bundle을 이용한 데이터 전달에 관해서 잘 안되는 게 있어서 질문글을 올립니다.

 

먼저 지금 제가 하고 있는 것은 a라는 fragment에서 데이터를 b fragment로 전달하는 것입니다.

그래서 b fragment에서는 newInstance 메서드를 하나 만들었습니다. 이런식으루요.

public static bfragment newInstance(String param1, String param2) {
        bfragment fragment = new bfragment();
        Bundle args = new Bundle();
        args.putString(ARG_PARAM1, param1);
        args.putString(ARG_PARAM2, param2);
        fragment.setArguments(args);
        return fragment;
    }

a fragment에서 버튼 클릭을 하면 newInstance 메서드가 실행됨과 동시에 startActivity로 해당 프래그먼트를 가진 액티비티로 넘어가게 했습니다.

bfragment.newInstance(item_name, item_type);
startActivity(new Intent(getActivity.getApplicationContext, bactivity.class));

이랬는데 bfragment에서는 getArgument = null이 됩니다. 즉 데이터 전달이 안되었다는 거죠.

뭐가 문제일까요??

익명사용자 님이 2014년 2월 11일 질문

1개의 답변

0 추천
bfragment.newInstance 해서 얻은 bFragment의 객체를 셋팅하는 부분이 안보이네요?

FragmentTransaction을 통해 commit되어야 해당 인스턴스가 셋팅됩니다.

newInstance 스태틱메서드는 Fragment라는 클래스 자체에 args셋팅하는것이 아닌

새로이 인스턴스된 객체에 args를 셋팅하는거니까용...

 

B액티비티에서 해당 값들을 이용한  newInstance를 하시고 Fragment를 commit해보세용~
칠리님 (10,910 포인트) 님이 2014년 2월 12일 답변
...