Sobes.tech
Junior — Middle

Как могат да се предават данни между фрагменти в приложение?

sobes.tech AI

Отговор от AI

Данните между фрагменти в Android могат да бъдат прехвърляни по няколко начина:

  1. Чрез Bundle при създаване на фрагмент — предайте данни в аргументите на фрагмента с помощта на setArguments() и ги получите чрез getArguments().
val fragment = MyFragment()
val bundle = Bundle()
bundle.putString("key", "value")
fragment.arguments = bundle
  1. Чрез ViewModel, споделен между активността и фрагментите — използвайте ViewModel за съхранение и обмен на данни между фрагментите.

  2. Чрез интерфейси и callback-и — фрагментът извиква методи на активността, която предава данните на друг фрагмент.

  3. Чрез SharedPreferences или база данни — за по-постоянно съхранение и обмен.

Най-препоръчителният начин е използването на ViewModel с LiveData за реактивен и безопасен обмен на данни между фрагментите.