Junior — Middle
Quais métodos são utilizados para trocar dados entre Fragmentos no Android?
sobes.tech IA
Resposta da IA
A troca de dados entre Fragmentos no Android pode ser implementada de várias maneiras:
-
Através de Activity — os fragmentos comunicam-se através de uma Activity pai, que atua como intermediária. Por exemplo, um fragmento chama um método da Activity, passando dados, e a Activity transmite-os a outro fragmento.
-
Uso de ViewModel com o ciclo de vida da Activity — um ViewModel comum, ligado à Activity, permite aos fragmentos trocar dados através de LiveData.
-
Uso de interfaces — o fragmento define uma interface para transmitir dados, que é implementada pela Activity.
-
EventBus ou outras bibliotecas de eventos — permitem enviar eventos entre componentes.
Exemplo com ViewModel:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// No Fragment A
viewModel.select("Dados")
// No Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
// processamento dos dados
}