Sobes.tech
Junior — Middle

Como é que se podem transmitir dados entre fragmentos numa aplicação?

sobes.tech IA

Resposta da IA

Os dados entre fragmentos no Android podem ser transmitidos de várias maneiras:

  1. Através de Bundle ao criar o fragmento — passar dados nos argumentos do fragmento usando setArguments() e obtê-los através de getArguments().
val fragment = MyFragment()
val bundle = Bundle()
bundle.putString("key", "value")
fragment.arguments = bundle
  1. Através de ViewModel, comum para a atividade e os fragmentos — usar ViewModel para armazenar e trocar dados entre os fragmentos.

  2. Através de interfaces e callbacks — o fragmento chama métodos da atividade, que passa dados para outro fragmento.

  3. Através de SharedPreferences ou banco de dados — para armazenamento e troca mais permanentes.

A forma mais recomendada é usar ViewModel com LiveData para uma troca de dados reativa e segura entre os fragmentos.