¡Instanciando el Fragmento de la manera correcta!
getArguments()
setArguments()
Los métodos parecen muy útiles cuando se trata de instanciar un Fragmento usando un método estático.
es decirMyfragment.createInstance(String msg)
¿Cómo hacerlo?
Código de fragmento
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;
}
}
Digamos que desea pasar una cadena mientras crea una instancia. Así es como lo harás.
MyFragment.createInstance("This String will be shown in textView");
Lee mas
1) ¿Por qué se prefiere Myfragment.getInstance (String msg) sobre el nuevo MyFragment (String msg)?
2) Código de muestra en fragmentos