Junior — Middle
როგორ გადმოჰყავთ ინფორმაცია პროგრამაში ორი ფრაგმენტის შორის?
sobes.tech AI
პასუხი AI-სგან
Android-ში ორი ფრაგმენტის შორის ინფორმაციის გადაცემა ჩვეულებრივ რამდენიმე მიდგომას მოიცავს:
-
მიერ Activity: ფრაგმენტები კომუნიკაციას ახორციელებენ მშობელ Activity-ის მეშვეობით, რომელიც შუამავალი ფუნქციონირებს.
-
ViewModel-ის გამოყენება საერთო სიცოცხლის ციკლთან ერთად Activity-ის: ქმნიან ViewModel-ს, რომელიც დაკავშირებულია Activity-სთან, და ორივე ფრაგმენტი მასზე წვდომას იღებს, მონაცემების გაცვლისთვის LiveData-ის მეშვეობით.
-
ფრაგმენტის არგუმენტები: მეორე ფრაგმენტის შექმნისას, მონაცემები შეიძლება გადაეცეს Bundle-ის მეშვეობით,
setArguments()მეთოდის გამოყენებით.
ViewModel-ის გამოყენების მაგალითი:
class SharedViewModel : ViewModel() {
val selectedData = MutableLiveData<String>()
}
// პირველ ფრაგმენტში
sharedViewModel.selectedData.value = "გადაცემის მონაცემები"
// მეორე ფრაგმენტში
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
// გამოიყენეთ მიღებული მონაცემები
}