Sobes.tech
Назад к вопросам
Junior — Middle
67

Каким образом можно передавать и использовать информацию, полученную в одном фрагменте, в другом фрагменте при навигации между ними?

Компании, где спрашивали
Мой СкладМой Склад

Ответ от нейросети

sobes.tech AI

В Android для передачи данных между фрагментами обычно используют Bundle — объект, в который помещают необходимые данные, и передают его через аргументы фрагмента. При навигации можно:

  • Создать Bundle с нужными данными
  • Установить его в качестве аргументов для нового фрагмента через setArguments()
  • В новом фрагменте получить Bundle через getArguments() и извлечь данные

Пример передачи строки из одного фрагмента в другой:

Bundle bundle = new Bundle();
bundle.putString("key", "value");
Fragment fragment = new AnotherFragment();
fragment.setArguments(bundle);
// затем выполнить транзакцию замены фрагмента

В целевом фрагменте:

Bundle args = getArguments();
if (args != null) {
    String value = args.getString("key");
}

Также можно использовать ViewModel для совместного хранения данных между фрагментами в рамках одной активности.