Sobes.tech
Junior — Middle

Androidда Fragmentтер арасында маалымат алмашуу үчүн кандай ыкмалар колдонулат?

sobes.tech AI

AIден жооп

Androidда Fragmentтер арасында маалымат алмашуу бир нече ыкмалар менен ишке ашырылышы мүмкүн:

  1. Activity аркылуу — фрагменттер ата-эне Activity аркылуу байланышат, ал ортомчу катары кызмат кылат. Мисалы, бир фрагмент Activityнин методуна чакырып, маалыматтарды өткөрөт, жана Activity аларды башка фрагментке өткөрөт.

  2. Activityнин жашоо цикли менен ViewModel колдонуу — жалпы ViewModel, Activity менен байланышкан, LiveData аркылуу фрагменттердин маалымат алмашуусуна мүмкүндүк берет.

  3. Интерфейстерди колдонуу — фрагмент маалыматтарды өткөрүү үчүн интерфейс аныктайт, аны Activity ишке ашырат.

  4. EventBus же башка окуя китепканалары — компоненттер ортосунда окуяларды жөнөтүүгө мүмкүндүк берет.

ViewModel менен мисал:

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

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

// Fragment Aда
viewModel.select("Маалыматтар")

// Fragment Bда
viewModel.selected.observe(viewLifecycleOwner) { data ->
    // маалыматтарды иштетүү
}