Sobes.tech
Junior — Middle

Come trasmetti le informazioni tra due frammenti nell'applicazione?

sobes.tech AI

Risposta dell'AI

Per trasmettere informazioni tra due frammenti in Android, di solito si utilizzano diversi approcci:

  1. Attraverso Activity: I frammenti comunicano tramite l'Activity genitore, che funge da intermediario.

  2. Utilizzo di ViewModel con ciclo di vita condiviso con l'Activity: Si crea un ViewModel associato all'Activity, e entrambi i frammenti vi accedono scambiando dati tramite LiveData.

  3. Argomenti del frammento: Quando si crea il secondo frammento, si possono passare dati tramite un Bundle usando il metodo setArguments().

Esempio di trasmissione tramite ViewModel:

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

// Nel primo frammento
sharedViewModel.selectedData.value = "Dati da trasmettere"

// Nel secondo frammento
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
    // Utilizzare i dati ricevuti
}