Kotlin/Android Collectors/ Observers не находят никаких изменений за пределами класса ⇐ Android
Kotlin/Android Collectors/ Observers не находят никаких изменений за пределами класса
Вот мой класс репозитория, гарантирующий изменение состояния моего местоположения
@Синглтон класс LocationRepository @Inject конструктор(){ Private val _locationData = MutableStateFlow(null) val locationData: StateFlow = _locationData.asStateFlow() в этом { } забавное обновлениеLocation (местоположение: Местоположение) { _locationData.update { расположение } locationData.value?.let { logthis(it) } } } забавный журнал (местоположение: Location) { Log.i("Это работает", location.toString()) } Все журналы классов работают, кроме модели представления
@HiltViewModel класс myViewModel @Inject конструктор( частный вал mainRepository: Репозиторий, частный вал commonUtils: AppUtils, ): ViewModel() { @Инжект lateinit var locationRepository: LocationRepository или мой составной
@Composable веселый MyScreen( viewModel = myViewModel = hiltViewModel() ) {//здесь еще куча кода val location = viewModel.locationRepository.locationData val locationData по location.collectAsState(null) LaunchedEffect(locationData){ Log.i("Не работает", locationData.toString()) } LaunchedEffect(locationRepository){ locationRepository.locationData.collect{ Log.i("Тоже не работает", it.toString()) } } } Я ожидал увидеть какие-то журналы, запустить несколько дополнительных операций и вернуть сообщение об успехе, но так и не дошел до этого.
Я использовал репозиторий в качестве синглтона, чтобы гарантировать, что это единственный работающий экземпляр класса, но явно что-то не так, потому что это тоже не сработало
Вот мой класс репозитория, гарантирующий изменение состояния моего местоположения
@Синглтон класс LocationRepository @Inject конструктор(){ Private val _locationData = MutableStateFlow(null) val locationData: StateFlow = _locationData.asStateFlow() в этом { } забавное обновлениеLocation (местоположение: Местоположение) { _locationData.update { расположение } locationData.value?.let { logthis(it) } } } забавный журнал (местоположение: Location) { Log.i("Это работает", location.toString()) } Все журналы классов работают, кроме модели представления
@HiltViewModel класс myViewModel @Inject конструктор( частный вал mainRepository: Репозиторий, частный вал commonUtils: AppUtils, ): ViewModel() { @Инжект lateinit var locationRepository: LocationRepository или мой составной
@Composable веселый MyScreen( viewModel = myViewModel = hiltViewModel() ) {//здесь еще куча кода val location = viewModel.locationRepository.locationData val locationData по location.collectAsState(null) LaunchedEffect(locationData){ Log.i("Не работает", locationData.toString()) } LaunchedEffect(locationRepository){ locationRepository.locationData.collect{ Log.i("Тоже не работает", it.toString()) } } } Я ожидал увидеть какие-то журналы, запустить несколько дополнительных операций и вернуть сообщение об успехе, но так и не дошел до этого.
Я использовал репозиторий в качестве синглтона, чтобы гарантировать, что это единственный работающий экземпляр класса, но явно что-то не так, потому что это тоже не сработало
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Laravel Observers - обновленные триггеры запускаются бесконечно и выдают ошибку bcrypt
Anonymous » » в форуме Php - 0 Ответы
- 50 Просмотры
-
Последнее сообщение Anonymous
-