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:
-
Attraverso Activity: I frammenti comunicano tramite l'Activity genitore, che funge da intermediario.
-
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.
-
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
}