Junior — Middle
¿Cómo se realiza la transferencia de información entre componentes Fragment en Android?
sobes.tech AI
Respuesta de la IA
En Android, la transferencia de información entre fragmentos generalmente se realiza a través de la actividad que los contiene, o mediante ViewModels compartidos.
Formas principales:
-
A través de la actividad:
- El Fragmento A llama a un método de la actividad y pasa datos.
- La actividad pasa datos al Fragmento B.
-
Uso de interfaces:
- El Fragmento A declara una interfaz para la transferencia de datos.
- La actividad implementa esta interfaz y recibe datos del Fragmento A, luego los pasa al Fragmento B.
-
Shared ViewModel (con componentes arquitectónicos):
- Ambos fragmentos usan un mismo ViewModel asociado a la actividad.
- El ViewModel contiene LiveData, a través de la cual los fragmentos intercambian datos.
Ejemplo con Shared ViewModel:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// En el fragmento A
viewModel.selectedItem.value = "Datos para transferir"
// En el fragmento B
viewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Usar los datos recibidos
}