Sobes.tech
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:

  1. Através da atividade:

    • O Fragmento A chama um método da atividade e passa dados.
    • A atividade passa dados ao Fragmento B.
  2. 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.
  3. 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
}