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 ->
// Օգտագործեք ստացված տվյալները
}