Junior — Middle
Androidda Fragment komponentlari o'rtasida ma'lumot uzatish qanday amalga oshiriladi?
sobes.tech AI
AIdan javob
Androidда, фрагментлар орасида маълумот алмашиш одатда уларни ўзига қамраб олган фаолият орқали ёки умумий ViewModelлар ёрдамида амалга оширилади.
Асосий усуллар:
-
Фаолият орқали:
- A фрагменти фаолиятнинг методини чақириб, маълумот юборади.
- Фаолият маълумотларни B фрагментига юборади.
-
Интерфейслардан фойдаланиш:
- A фрагменти маълумотларни юбориш учун интерфейсни эълон қилади.
- Фаолият бу интерфейсни амалга оширади ва A фрагментидан маълумот олади, кейин уларни B фрагментига юборади.
-
Shared ViewModel (мархабат компонентлари билан):
- Ҳамма фрагментлар фаолиятга боғланган бир хил ViewModelдан фойдаланади.
- ViewModel LiveDataни ўз ичига олади, у орқали фрагментлар маълумот алмашадилар.
Shared ViewModel мисоли:
class SharedViewModel : ViewModel() {
val selectedItem = MutableLiveData<String>()
}
// A фрагментда
viewModel.selectedItem.value = "Ўтказиладиган маълумотлар"
// B фрагментда
viewModel.selectedItem.observe(viewLifecycleOwner) { data ->
// Олинган маълумотларни фойдаланиш
}