Junior — Middle
Kā notiek informācijas pārraide starp Fragment komponentiem Android?
sobes.tech AI
Atbilde no AI
Android, informācijas apmaiņa starp fragmentiem parasti notiek caur aktivitāti, kas tos satur, vai ar kopīgu ViewModel izmantošanu.
Galvenie veidi:
-
Caur aktivitāti:
- Fragment A izsauc aktivitātes metodi un nodod datus.
- Aktivitāte nodod datus fragmentam B.
-
Interfeisu izmantošana:
- Fragment A deklarē interfeisu datu nodošanai.
- Aktivitāte īsteno šo interfeisu un saņem datus no fragmenta A, pēc tam tos nodod fragmentam B.
-
Kopīgs ViewModel (ar arhitektūras komponentiem):
- Abi fragmenti izmanto vienu un to pašu ViewModel, kas ir saistīts ar aktivitāti.
- ViewModel satur LiveData, caur kuru fragmenti apmainās ar datiem.
Piemērs ar kopīgu ViewModel:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// Fragmentā A
viewModel.selectedItem.value = "Dati pārnešanai"
// Fragmentā B
viewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Izmanto saņemto datus
}