조각을 올바른 방법으로 인스턴스화하십시오!
getArguments() setArguments()메서드는 정적 메서드를 사용하여 Fragment를 인스턴스화 할 때 매우 유용합니다.
즉Myfragment.createInstance(String msg)
어떻게하나요?
조각 코드
public MyFragment extends Fragment {
private String displayMsg;
private TextView text;
public static MyFragment createInstance(String displayMsg)
{
MyFragment fragment = new MyFragment();
Bundle args = new Bundle();
args.setString("KEY",displayMsg);
fragment.setArguments(args); //set
return fragment;
}
@Override
public void onCreate(Bundle bundle)
{
displayMsg = getArguments().getString("KEY"): // get
}
@Override
public View onCreateView(LayoutInlater inflater, ViewGroup parent, Bundle bundle){
View view = inflater.inflate(R.id.placeholder,parent,false);
text = (TextView)view.findViewById(R.id.myTextView);
text.setText(displayMsg) // show msg
returm view;
}
}
인스턴스를 생성하는 동안 문자열을 전달한다고 가정 해 보겠습니다. 이것이 당신이 할 방법입니다.
MyFragment.createInstance("This String will be shown in textView");
더 읽어보기
1) 왜 Myfragment.getInstance (String msg)가 new MyFragment (String msg)보다 선호됩니까?
2) 프래그먼트의 샘플 코드