Buenos dias, recurro a ustedes porque estoy que me rindo con un ejercicio que quiero hacer.
no entiendo del todo la comunicacion con getArguments() entre fragmentos y actividad, y quise hacer un ejercicio en el que tengo Dos tabs cada una con su respectivo fragmento, pero no he podido pasarle valores al fragmento B los cuales provienen del fragmentoA,.
En el fragmento A ejecuto un método del main activity:
@Override
public void onClick(View view) {
textoCasteado = texto_Enviar.getText().toString();
MainActivity activity = (MainActivity) getActivity();
activity.datos(textoCasteado);
}
En la Main activity se lo paso con un putString de arguments.
/// método al que accesdo en el fragmento B
public void datos( String texto){
Toast.makeText(this,texto, Toast.LENGTH_LONG).show();
Fragment fragment = new Fragment();
Bundle parametro = new Bundle();
parametro.putString("texto",texto);
fragment.setArguments(parametro);
}
y Los recibo en el FragmentoB pero me tira errors que la verdad ni entiendo.
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
texto_Recibido = (TextView) getActivity().findViewById(R.id.textrecibido);
Toast.makeText(getActivity(),"ejecuta este método", Toast.LENGTH_LONG).show();
String variable;
if ( this.getArguments().getString("texto") !=null ){
variable = "nada";
}else {
variable=this.getArguments().getString("texto");
}
texto_Recibido.setText(variable);
}