Junior — Middle
Quelles méthodes sont utilisées pour échanger des données entre Fragments dans Android?
sobes.tech IA
Réponse de l'IA
L'échange de données entre Fragments dans Android peut être réalisé de plusieurs manières :
-
Via Activity — les fragments communiquent via une Activity parent, qui sert d'intermédiaire. Par exemple, un fragment appelle une méthode de l'Activity en passant des données, et l'Activity les transmet à un autre fragment.
-
Utilisation de ViewModel avec le cycle de vie de l'Activity — un ViewModel partagé, lié à l'Activity, permet aux fragments d'échanger des données via LiveData.
-
Utilisation d'interfaces — le fragment définit une interface pour transmettre des données, que l'Activity implémente.
-
EventBus ou autres bibliothèques d'événements — permettent d'envoyer des événements entre composants.
Exemple avec ViewModel :
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// Dans le Fragment A
viewModel.select("Données")
// Dans le Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
// traitement des données
}