Junior — Middle
Cum se poate transmite și utiliza informația obținută într-un fragment într-un alt fragment în timpul navigării între ele?
sobes.tech AI
Răspuns de la 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 для совместного хранения данных между фрагментами в рамках одной активности.