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:
-
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.
-
Utilizzo di ViewModel con il ciclo di vita dell'Activity — un ViewModel condiviso, associato all'Activity, permette ai fragment di scambiarsi dati tramite LiveData.
-
Utilizzo di interfacce — il fragment definisce un'interfaccia per il trasferimento dei dati, che viene implementata dall'Activity.
-
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
}