¿Cómo usar los métodos setArguments () y getArguments () en Fragments?

Tengo 2 fragmentos: (1) Frag1 (2) Frag2.

Frag1

bundl = new Bundle(); bundl.putStringArrayList("elist", eList); Frag2 dv = new Frag2(); dv.setArguments(bundl); FragmentTransaction ft = getFragmentManager().beginTransaction(); ft.replace(R.id.the_fragg,dv); ft.show(getFragmentManager().findFragmentById(R.id.the_fragg)); ft.addToBackStack(null); ft.commit(); 

¿Cómo obtengo estos datos en Frag2?

Tiene un método llamado getArguments() que pertenece a la clase Fragment .

Simplemente llame a getArguments() en el Frag2 getArguments() de su Frag2 :

 public class Frag2 extends Fragment { public View onCreateView(LayoutInflater inflater, ViewGroup containerObject, Bundle savedInstanceState){ //here is your arguments Bundle bundle=getArguments(); //here is your list array String[] myStrings=bundle.getStringArray("elist"); } } 

Ej .: Agregar datos: –

  Bundle bundle = new Bundle(); bundle.putString("latitude", latitude); bundle.putString("longitude", longitude); bundle.putString("board_id", board_id); MapFragment mapFragment = new MapFragment(); mapFragment.setArguments(bundle); 

Ej .: Obtener datos: –

 String latitude = getArguments().getString("latitude") 

Para aquellos como yo que buscan enviar objetos que no sean primitivos, ya que no puede crear un constructor parametrizado en su fragmento, simplemente agregue un accesorio setter en su fragmento, esto siempre funciona para mí.

En Frag1:

 Bundle b= new Bundle(); b.putStringArray("arrayname that use to retrive in frag2",StringArrayObject); Frag2.setArguments(b); 

En Frag2:

 Bundle b=getArguments(); String [] stringArray=b.getStringArray("arrayname that passed in frag1"); 

Es así de simple.

  • Fragmento con ViewPager dentro de Fragmento y FragmentStatePagerAdapter resultados en Excepción (con ejemplo completo)
  • ¿Cómo usar una interfaz en varias clases en java?
  • Creación de pestañas utilizando Fragmentos ahora que TabActivity está obsoleto
  • Cómo arrastrar un botón de acción flotante sobre un paginador de vista
  • Intentar invocar método virtual
  • Java.lang.NullPointerException: Intenta invocar el método virtual 'int android.view.View.getImportantForAccessibility ()' en una referencia de objeto nulo
  • Android: Fragmentos backStack
  • Cómo mostrar / ocultar fragmento con el dedo hacia arriba / hacia abajo como la aplicación androide de soundcloud
  • FragmentPagerAdapter actualización de título dinámicamente
  • Configuración de la aplicación: layout_behavior mediante programación
  • Fragmentos vs. TabActivity obsoleto en un dispositivo pre 3.0
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.