Sobes.tech
Junior — Middle

Koje metode se koriste za razmenu podataka između Fragment-a u Android-u?

sobes.tech АИ

Одговор од АИ

Razmena podataka između Fragment-a u Android-u može se realizovati na više načina:

  1. Kroz Activity — fragmenti komuniciraju putem roditeljske Activity, koja deluje kao posrednik. Na primer, jedan fragment poziva metodu Activity-ja, prosleđujući podatke, a Activity ih prosleđuje drugom fragmentu.

  2. Korišćenje ViewModel-a sa životnim ciklusom Activity-ja — zajednički ViewModel, povezan sa Activity-jem, omogućava fragmentima razmenu podataka putem LiveData.

  3. Korišćenje interfejsa — fragment definiše interfejs za prenos podataka, koji implementira Activity.

  4. EventBus ili druge biblioteke događaja — omogućavaju slanje događaja između komponenti.

Primer sa ViewModel-om:

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

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

// U Fragment A
viewModel.select("Podaci")

// U Fragment B
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // obrada podataka
}