Junior — Middle
Naviqasiya zamanı iki fraqment arasında məlumat mübadiləsi üçün eyni ViewModel istifadə etmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
Bəli, eyni ViewModel-dən istifadə etmək mümkündür məlumat mübadiləsi üçün iki fraqment arasında naviqasiya zamanı, əgər ViewModel ümumi həyat dövrü sahibi ilə, məsələn, bir Activity ilə əlaqələndirilmişsə. Bu halda, hər iki fraqment eyni ViewModel-ə çıxış edir və bu, onları birbaşa əlaqələndirmədən məlumat mübadiləsinə imkan verir.
Nümunə:
// Activity ilə əlaqəli ViewModel-i əldə edin
val sharedViewModel = ViewModelProvider(requireActivity()).get(SharedViewModel::class.java)
// Fraqment A məlumatları təyin edir
sharedViewModel.someData.value = "Fraqment A-dan Salam"
// Fraqment B dəyişiklikləri izləyir
sharedViewModel.someData.observe(viewLifecycleOwner) { data ->
// Alınan məlumatlardan istifadə edin
}
Beləliklə, ViewModel fraqmentlər arasında ümumi məlumat mənbəyi kimi çıxış edir, əlaqəni sadələşdirir və konfiqurasiya dəyişiklikləri zamanı məlumatları saxlayır.