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

  1. 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.

  2. Uso de ViewModel com o ciclo de vida da Activity — um ViewModel comum, ligado à Activity, permite aos fragmentos trocar dados através de LiveData.

  3. Uso de interfaces — o fragmento define uma interface para transmitir dados, que é implementada pela Activity.

  4. 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
}