Sobes.tech
Junior — Middle

Оё мумкин аст, ки як ViewModel-и якхела барои мубодилаи маълумот байни ду фрагмент дар вақти навигатсия истифода шавад?

sobes.tech AI

Ҷавоб аз AI

Бале, мумкин аст як ViewModel-и якхела барои мубодилаи маълумот байни ду фрагмент дар вақти навигатсия истифода шавад, агар ViewModel ба соҳиби умумии давраи ҳаёт, масалан, ба Activity, вобаста бошад. Дар ин ҳолат, ҳарду фрагмент ба як ViewModel дастрасӣ доранд, ки имкон медиҳад онҳо маълумотро бидуни пайваст кардани мустақим мубодила кунанд.

Масалан:

// Дастрасӣ ба ViewModel, ки бо Activity алоқаманд аст
val sharedViewModel = ViewModelProvider(requireActivity()).get(SharedViewModel::class.java)

// Фрагмент A маълумотҳоро муқаррар мекунад
sharedViewModel.someData.value = "Салом аз Фрагмент A"

// Фрагмент B тағйиротҳоро назорат мекунад
sharedViewModel.someData.observe(viewLifecycleOwner) { data ->
    // Истифодаи маълумоти гирифташуда
}

Ин тариқ, ViewModel ҳамчун манбаи умумии маълумот байни фрагментҳо хизмат мекунад, муоширатро содда мекунад ва маълумотҳоро ҳангоми тағйирёбии конфигуратсия нигоҳ медорад.