Sobes.tech
Junior — Middle

Jak předáváte informace mezi dvěma fragmenty v aplikaci?

sobes.tech AI

Odpověď od AI

Pro přenos informací mezi dvěma fragmenty v Androidu se obvykle používá několik přístupů:

  1. Přes Activity: Fragmenty komunikují přes rodičovskou Activity, která slouží jako prostředník.

  2. Použití ViewModel s společným životním cyklem s Activity: Vytvoří se ViewModel spojený s Activity a oba fragmenty k němu mají přístup, vyměňujíce si data přes LiveData.

  3. Argumenty fragmentu: Při vytváření druhého fragmentu lze data předat pomocí Bundle s metodou setArguments().

Příklad přenosu přes ViewModel:

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

// V prvním fragmentu
sharedViewModel.selectedData.value = "Data k přenosu"

// Ve druhém fragmentu
sharedViewModel.selectedData.observe(viewLifecycleOwner) { data ->
    // Použijte přijatá data
}