Junior — Middle
Ilovada ikkita bo'lak o'rtasida qanday ma'lumot uzatyapsiz?
sobes.tech AI
AIdan javob
Androidда икки фрагмент орасида маълумот узатиш учун одатда бир неча ёндашувлар қўлланилади:
-
Activity орқали: Фрагментлар ота-она Activity орқали мулоқот қилади, у орқали ўртачилик қилинади.
-
ViewModelдан фойдаланиш, у Activity билан умумий ҳаёт циклга эга: ViewModel яратилади, у Activity билан боғланган ва иккала фрагмент ҳам унга киришади, LiveData орқали маълумот алмашинадилар.
-
Фрагмент аргументлари: Иккинчи фрагментни яратишда, маълумотларни
setArguments()усули орқали Bundle орқали ўтказиш мумкин.
ViewModel орқали узатиш мисоли:
class SharedViewModel : ViewModel() {
val selectedData = MutableLiveData<String>()
}
// Биринчи фрагментда
sharedViewModel.selectedData.value = "Ўтказиладиган маълумотлар"
// Иккинчи фрагментда
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
// Олинган маълумотларни фойдаланиш
}