Junior — Middle
Как могат да се предават данни между фрагменти в приложение?
sobes.tech AI
Отговор от AI
Данните между фрагменти в Android могат да бъдат прехвърляни по няколко начина:
- Чрез Bundle при създаване на фрагмент — предайте данни в аргументите на фрагмента с помощта на
setArguments()и ги получите чрезgetArguments().
val fragment = MyFragment()
val bundle = Bundle()
bundle.putString("key", "value")
fragment.arguments = bundle
-
Чрез ViewModel, споделен между активността и фрагментите — използвайте
ViewModelза съхранение и обмен на данни между фрагментите. -
Чрез интерфейси и callback-и — фрагментът извиква методи на активността, която предава данните на друг фрагмент.
-
Чрез SharedPreferences или база данни — за по-постоянно съхранение и обмен.
Най-препоръчителният начин е използването на ViewModel с LiveData за реактивен и безопасен обмен на данни между фрагментите.