Junior — Middle
Gezinme sırasında iki fragman arasında veri alışverişi için aynı ViewModel kullanılabilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
Evet, aynı ViewModel kullanılarak, navigasyon sırasında iki fragment arasında veri alışverişi yapılabilir, eğer ViewModel ortak bir yaşam döngüsü sahibiyle, örneğin bir Activity ile ilişkilendirilmişse. Bu durumda, her iki fragment de aynı ViewModel'e erişir ve böylece doğrudan bağlamadan veri alışverişi yapabilirler.
Örnek:
// Activity ile ilişkili ViewModel'i al
val sharedViewModel = ViewModelProvider(requireActivity()).get(SharedViewModel::class.java)
// Fragment A veri ayarlar
sharedViewModel.someData.value = "Fragment A'dan Merhaba"
// Fragment B değişiklikleri izler
sharedViewModel.someData.observe(viewLifecycleOwner) { data ->
// Alınan veriyi kullan
}
Bu şekilde, ViewModel, fragmentler arasında ortak bir veri kaynağı olarak hareket eder, iletişimi basitleştirir ve yapılandırma değişiklikleri sırasında verileri korur.