Назад к вопросам
Junior — Middle
69
Как передать данные объекта между двумя фрагментами в приложении?
Ответ от нейросети
sobes.tech AI
Для передачи данных объекта между двумя фрагментами в Android обычно используют аргументы (Bundle).
Основные способы:
-
Через Bundle в setArguments/getArguments
- В первом фрагменте создаёте Bundle, кладёте туда данные (примитивы, Serializable, Parcelable).
- Устанавливаете Bundle во второй фрагмент через setArguments.
- Во втором фрагменте получаете данные через getArguments.
-
Через ViewModel (если фрагменты принадлежат одной Activity)
- Создаёте общий ViewModel.
- Первый фрагмент записывает данные в ViewModel.
- Второй фрагмент читает данные из ViewModel.
Пример передачи через Bundle:
// В первом фрагменте
Bundle bundle = new Bundle();
bundle.putString("key", "value");
SecondFragment fragment = new SecondFragment();
fragment.setArguments(bundle);
// Во втором фрагменте
@Override
public View onCreateView(...) {
Bundle args = getArguments();
if (args != null) {
String value = args.getString("key");
}
// ...
}
Если объект сложный, рекомендуется реализовать Parcelable для эффективной передачи.