Sobes.tech
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:

  1. 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.
  2. 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.
  3. 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
}