Sobes.tech
Junior — Middle

Android-ში Fragment-ებს შორის მონაცემების გაცვლის რა მეთოდები გამოიყენება?

sobes.tech AI

პასუხი AI-სგან

Android-ში Fragment-ებს შორის მონაცემთა გაცვლა შესაძლებელია რამდენიმე გზით:

  1. Activity-ის მეშვეობით — ფრაგმენტები კომუნიკაციას ახორციელებენ მშობელ Activity-ის მეშვეობით, რომელიც შუამავალი როლს ასრულებს. მაგალითად, ერთი ფრაგმენტი იძახის Activity-ის მეთოდს მონაცემების გადაცემით, და Activity მათ გადასცემს სხვა ფრაგმენტს.

  2. ViewModel-ის გამოყენება Activity-ის სიცოცხლის ციკლთან ერთად — საერთო ViewModel, რომელიც დაკავშირებულია Activity-თან, საშუალებას აძლევს ფრაგმენტებს გაცვალონ მონაცემები LiveData-ის მეშვეობით.

  3. ინტერფეისების გამოყენება — ფრაგმენტი განსაზღვრავს მონაცემების გადაცემის ინტერფეისს, რომელიც რეალიზებულია Activity-ით.

  4. 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 ->
    // მონაცემების დამუშავება
}