¿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?
- Direcciones de la transición de explosión entre fragmentos
- Cómo poner valores de una vista de texto en una fila de una vista de lista a un fragmento
- NavigationDrawer con Actividades vs. NavigationDrawer con Fragments
- Obtener el ancho y la altura de la pantalla en un fragmento
- Mostrar DialogFragment con animación creciendo desde un punto
- IllegalArgumentException con Otto Event bus en la instancia Fragment
- Cambio de la imagen de fondo del fragmento actual en viewpager
- Separador de sombras entre fragmentos de Android
- FragmentManager popBackStack no quita el fragmento
- TabLayout dentro de fragmento da mala vista de elementos
- Tome la foto de la cámara en fragmento
- Ampliar MapFragment Android
- ¿Cómo puedo mantener el estado de fragmento cuando se agrega a la pila trasera?
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.
- Error de instalación: INSTALL_FAILED_OLDER_SDK
- La reinstalación falló debido a diferentes firmas de aplicación