2013-06-07 3 views
3

fragment을 컨테이너에 실제로 넣지 않고 fragment 번들을 보내는 방법이 있습니까? EditTexts 입력 필드에서 몇 가지를 가져 와서 나중에 fragment으로 호출하기를 원하기 때문에 묻습니다.조각을 바꾸지 않고 패스 번들

은 내가 거래와 번들을 통과하지만 나는 또한 "header_fragment_container"에있는 기존 fragment를 대체 할이 코드에서이

Bundle bundle = new Bundle(); 
Fragment fragment = new Assessment_Fragment(); 
bundle.putString("company", companyName); 
bundle.putString("project", projectName); 
fragment.setArguments(bundle); 

getFragmentManager().beginTransaction() 
.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out) 
.replace(R.id.header_fragment_container, fragment).commit(); 

같은 코드가 있습니다. 나는 그것을하고 싶지 않다. 묶음 처리 된 데이터를 지정한 fragment으로 전달하고 싶습니다. 그 fragment가 결국 불려 오면 번들을 받게됩니다. 이것이 가능한가?

+0

이 질문을 주셔서 감사합니다. –

답변

4

가능합니까?

확실히. 마지막 Java 문 (getFragmentManager()....) 만 삭제하면됩니다.

이제 프래그먼트를 만드는 것이 합리적인지 여부에 관해서는 프래그먼트 관리자에게 (UI가 있건 없건간에) 추가하지 마십시오. 다른 문제입니다. Java는 많은 클래스를 지원합니다. Fragment은 그 중 하나 일뿐입니다. 일반 데이터 컨테이너가 필요한 경우 가벼운 무게를 선택하십시오 (예 : Bundle).

+0

'beginTransaction()'문을 사용하지 않고 메모 할 때 데이터가 어떻게 전달됩니까? 'fragment.setArguments (번들)'을 사용하고 있습니까? –

+3

@i_me_mine : 예. 'setArguments()'는 Java setter 메소드입니다. – CommonsWare

관련 문제