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:
- Através de Bundle ao criar o fragmento — passar dados nos argumentos do fragmento usando
setArguments()e obtê-los através degetArguments().
val fragment = MyFragment()
val bundle = Bundle()
bundle.putString("key", "value")
fragment.arguments = bundle
-
Através de ViewModel, comum para a atividade e os fragmentos — usar
ViewModelpara armazenar e trocar dados entre os fragmentos. -
Através de interfaces e callbacks — o fragmento chama métodos da atividade, que passa dados para outro fragmento.
-
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.