Android-ში Fragment-ებს შორის მონაცემების გაცვლის რა მეთოდები გამოიყენება?
sobes.tech AI
პასუხი AI-სგან
Android-ში Fragment-ებს შორის მონაცემთა გაცვლა შესაძლებელია რამდენიმე გზით:
-
Activity-ის მეშვეობით — ფრაგმენტები კომუნიკაციას ახორციელებენ მშობელ Activity-ის მეშვეობით, რომელიც შუამავალი როლს ასრულებს. მაგალითად, ერთი ფრაგმენტი იძახის Activity-ის მეთოდს მონაცემების გადაცემით, და Activity მათ გადასცემს სხვა ფრაგმენტს.
-
ViewModel-ის გამოყენება Activity-ის სიცოცხლის ციკლთან ერთად — საერთო ViewModel, რომელიც დაკავშირებულია Activity-თან, საშუალებას აძლევს ფრაგმენტებს გაცვალონ მონაცემები LiveData-ის მეშვეობით.
-
ინტერფეისების გამოყენება — ფრაგმენტი განსაზღვრავს მონაცემების გადაცემის ინტერფეისს, რომელიც რეალიზებულია Activity-ით.
-
EventBus ან სხვა მოვლენების ბიბლიოთეკები — საშუალებას აძლევს კომპონენტებს შორის მოვლენების გაგზავნას.
მაგალითი ViewModel-თან:
class SharedViewModel : ViewModel() {
val selected = MutableLiveData<String>()
fun select(item: String) {
selected.value = item
}
}
// Fragment A-ში
viewModel.select("მონაცემები")
// Fragment B-ში
viewModel.selected.observe(viewLifecycleOwner) { data ->
// მონაცემების დამუშავება
}