Sobes.tech
Junior — Middle

Quais métodos podem ser usados para organizar a troca de dados entre dois fragmentos numa aplicação?

sobes.tech IA

Resposta da IA

No Android, para trocar dados entre dois fragmentos, podem ser utilizados vários métodos:

  1. Através da Activity — os fragmentos comunicam-se através da Activity pai, que atua como intermediária. Um fragmento envia dados para a Activity, e outro os recebe.

  2. ViewModel com LiveData — um ViewModel compartilhado, ligado à Activity, permite que os fragmentos observem as mudanças nos dados e troquem informações de forma reativa.

  3. Interfaces de callback — um fragmento implementa uma interface que outro fragmento chama através da Activity.

  4. SharedPreferences ou bases de dados — para armazenamento e troca de dados mais permanentes.

Exemplo com ViewModel:

class SharedViewModel : ViewModel() {
    val selectedItem = MutableLiveData<String>()
}

// No primeiro fragmento
sharedViewModel.selectedItem.value = "Dados para transmissão"

// No segundo fragmento
sharedViewModel.selectedItem.observe(viewLifecycleOwner) { data ->
    // Processar os dados recebidos
}

Este método é considerado moderno e conveniente para troca de dados entre fragmentos dentro de uma mesma Activity.