Sobes.tech
Junior — Middle

Milliseid meetodeid kasutatakse andmete vahetamiseks Fragmentide vahel Androidis?

sobes.tech AI

Vastus AI-lt

Andmete vahetamine vahel Fragmentide vahel Androidis võib olla teostatav mitmel viisil:

  1. Activity kaudu — fragmentid suhtlevad läbi vanem-Activity, mis toimib vahendajana. Näiteks kutsub üks fragment Activity meetodi ja edastab andmed, ning Activity edastab need teisele fragmentile.

  2. Kasutades ViewModel-i koos Activity elutsükliga — ühine ViewModel, mis on seotud Activity-ga, võimaldab fragmentidel vahetada andmeid LiveData kaudu.

  3. Interfaced kasutamine — fragment määratleb andmete edastamiseks liidese, mille implementatsiooniga tegeleb Activity.

  4. EventBus või muud sündmuste raamatukogud — võimaldavad komponentide vahel sündmusi saata.

Näide ViewModel-iga:

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

    fun select(item: String) {
        selected.value = item
    }
}

// Fragment A-s
viewModel.select("Andmed")

// Fragment B-s
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // andmete töötlemine
}