Sobes.tech
Junior — Middle

Ինչպե՞ս փոխանցում եք տեղեկատվությունը ծրագրում երկու հատվածների միջև:

sobes.tech AI

Պատասխան AI-ից

Android-ում երկու ֆրագմենտների միջև տեղեկատվություն փոխանցելու համար սովորաբար օգտագործվում են մի քանի մոտեցումներ՝

  1. Անցնելով Activity-ի միջոցով՝ Ֆրագմենտները հաղորդակցվում են ծնողական Activity-ի միջոցով, որը հանդես է որպես միջնորդ:

  2. Օգտագործելով ViewModel՝ ընդհանուր կյանքի ցիկլով Activity-ի հետ՝ Ստեղծվում է ViewModel, որը կապված է Activity-ի հետ, և երկու ֆրագմենտներն էլ ունեն մուտք դեպի այն, փոխանակելով տվյալներ LiveData-ի միջոցով:

  3. Ֆրագմենտի արգումենտներ՝ Երբ ստեղծվում է երկրորդ ֆրագմենտը, տվյալները կարող են փոխանցվել Bundle-ի միջոցով՝ օգտագործելով setArguments() մեթոդը:

Օրինակ՝ փոխանցում ViewModel-ի միջոցով՝

class SharedViewModel : ViewModel() {
    val selectedData = MutableLiveData<String>()
}

// Առաջին ֆրագմենտում
sharedViewModel.selectedData.value = "Տվյալներ փոխանցելու համար"

// Երկրորդ ֆրագմենտում
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
    // Օգտագործեք ստացված տվյալները
}