Sobes.tech
Junior — Middle

Quali metodi vengono utilizzati per scambiare dati tra Fragment in Android?

sobes.tech AI

Risposta dell'AI

Lo scambio di dati tra Fragment in Android può essere realizzato in diversi modi:

  1. Attraverso Activity — i fragment comunicano tramite un'Activity genitore, che funge da intermediario. Ad esempio, un fragment chiama un metodo dell'Activity passando i dati, e l'Activity li trasmette a un altro fragment.

  2. Utilizzo di ViewModel con il ciclo di vita dell'Activity — un ViewModel condiviso, associato all'Activity, permette ai fragment di scambiarsi dati tramite LiveData.

  3. Utilizzo di interfacce — il fragment definisce un'interfaccia per il trasferimento dei dati, che viene implementata dall'Activity.

  4. EventBus o altre librerie di eventi — consentono di inviare eventi tra componenti.

Esempio con ViewModel:

class SharedViewModel : ViewModel() {
    val selected = MutableLiveData<String>()

    fun select(item: String) {
        selected.value = item
    }
}

// In Fragment A
viewModel.select("Dati")

// In Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // elaborazione dei dati
}