В настоящее время я выполняю проект, который требует, чтобы я переместил данные между вкладками/фрагментами. Скажем, пользователь нажимает на элемент listView, они перейдут на другую вкладку, вместо этого пребывания на той же вкладке. Могу ли я узнать, как я могу это достичь? Может кто-то помочь решить мой запрос? Спасибо!Android Studio - перемещение данных внутри вкладок/фрагментов
0
A
ответ
0
Вы можете trasnfer данных между вкладками с помощью набора и получить аргументы, Вот пример
FragmentTwo fragmentTwo = new FragmentTwo();
Bundle bundle = new Bundle();
bundle.putString("key1", "data1");
bundle.putString("key2", "data2");
bundle.putString("key3", "data3");
fragmentTwo.setArguments(bundle);
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_container, fragmentTwo);
fragmentTransaction.commit();
0
Есть 3 способа сделать это
1) использовать интерфейсы -use интерфейс для передачи данных объекты. Meshy решение
public interface onDataCHange{
public void updateData(String data);
}
2) Использование активности Класс - магазин объектная модель в классе деятельности и установить и получить с помощью деятельности Instance. Быстрый и грязный раствор
//Get
Object dataModel = (ContainerActivity) getActivity()).getData();
//Set
((ContainerActivity) getActivity()).setData(dataModel);
3) Чистая архитектура - Центр хранилища держать объекты модели. Просмотреть модель обновления через объект репозитория Singleton Center. Единая копия потока данных между приложениями.
@Singleton
public class UserDataRepository implements UserRepository {
private final UserDataStoreFactory userDataStoreFactory;
private final UserEntityDataMapper userEntityDataMapper;
/**
* Constructs a {@link UserRepository}.
*
* @param dataStoreFactory A factory to construct different data source implementations.
* @param userEntityDataMapper {@link UserEntityDataMapper}.
*/
@Inject
UserDataRepository(UserDataStoreFactory dataStoreFactory,
UserEntityDataMapper userEntityDataMapper) {
this.userDataStoreFactory = dataStoreFactory;
this.userEntityDataMapper = userEntityDataMapper;
}
@Override public Observable<List<User>> users() {
//we always get all users from the cloud
final UserDataStore userDataStore = this.userDataStoreFactory.createCloudDataStore();
return userDataStore.userEntityList().map(this.userEntityDataMapper::transform);
}
@Override public Observable<User> user(int userId) {
final UserDataStore userDataStore = this.userDataStoreFactory.create(userId);
return userDataStore.userEntityDetails(userId).map(this.userEntityDataMapper::transform);
}
}
Смежные вопросы
- 1. Перемещение между действиями (Android Studio)
- 2. Android Studio: перемещение между фрагментами и действиями внутри фрагментов
- 3. Перемещение изображения внутри webview android
- 4. Перемещение логотипа на панели действий Android Studio
- 5. Перемещение Android Studio Project между компьютерами
- 6. Перемещение Android Studio (Настройки) на другой компьютер
- 7. перемещение изображения с помощью кнопки android studio
- 8. Перемещение файлов Zip (Android Studio Java)
- 9. Android - перемещение активности внутри фоновой темы
- 10. Объект браузера внутри Android Studio
- 11. Перемещение внутри Phalcon внутри контроллера
- 12. Перемещение данных из локальной базы данных Android Android в облако.
- 13. перемещение внутри многомерного массива
- 14. Запуск скриптов Python внутри Android Studio
- 15. Android: хранение данных внутри
- 16. Перемещение объектов внутри браузера
- 17. Перемещение объектов внутри массивов
- 18. Перемещение div внутри div?
- 19. перемещение прямоугольника внутри холста
- 20. Перемещение pagecontrol внутри контейнера
- 21. Перемещение UIImage внутри UIImageView
- 22. Перемещение текста внутри кнопки
- 23. перемещение строки внутри UITableView
- 24. Перемещение поля внутри массива
- 25. Перемещение фрагмента Android-доступа
- 26. Перемещение контуров на Android
- 27. Перемещение по структурам внутри массивов
- 28. База данных Android Studio SQLite?
- 29. Android Studio - сохранение данных пользователя
- 30. Android Studio (база данных онлайн)