Junior — Middle
Como é feita a transferência de informações entre componentes Fragment no Android?
sobes.tech IA
Resposta da IA
No Android, a transferência de informações entre fragmentos geralmente ocorre através da atividade que os contém, ou usando ViewModels partilhados.
Principais métodos:
-
Através da atividade:
- O Fragmento A chama um método da atividade e passa dados.
- A atividade passa dados ao Fragmento B.
-
Uso de interfaces:
- O Fragmento A declara uma interface para transferência de dados.
- A atividade implementa essa interface e recebe dados do Fragmento A, depois os passa ao Fragmento B.
-
Shared ViewModel (com componentes arquiteturais):
- Ambos os fragmentos usam um mesmo ViewModel ligado à atividade.
- O ViewModel contém LiveData, através do qual os fragmentos trocam dados.
Exemplo com Shared ViewModel:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// No fragmento A
viewModel.selectedItem.value = "Dados para transferência"
// No fragmento B
viewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Usar os dados recebidos
}