¿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?
- ¿Cuál es la "mejor práctica" para cambiar de "Actividades" a "Fragmentos" para aplicaciones de Android?
- Lógica para usar varias vistas web en TabLayout para manejar problemas de memoria
- Cómo deslizar las pestañas dentro de un fragmento de cajón de navegación
- ¿En qué situación queremos agregar fragmento sin contenedor?
- Cómo ir a la pestaña anterior seleccionada al presionar una barra de acción de acción atrás botón
- FragmentStatePagerAdapter no quita fragmentos si se eliminó el fragmento padre
- La vista animada de Android fuera del fragmento se está recortando
- Fragmentos no visibles después de cambiar tabulación en FragmentTabHost anidado
- Lengüetas de la barra de la acción de Androide - problemas internos del trasaction del fragmento
- AsyncTask, Fragmentos, Vistas y Backstacks
- Barra de herramientas para fragmentos y Gaveta de navegación
- Fragmentos como clases estáticas
- ¿Cómo llamo a un PreferenceFragment específico de una PreferenceActivity?
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