Подскажите, как сделать правильно отслеживание изменения переменной в композе? Что сделал. есть

композбл функци:

@Composable
fun Greeting(rndNum: Int) {
Text(text = rndNum.toString())
}

Есть модель:
class MainViewModel: ViewModel() {
private val _rndNum = MutableLiveData(10)
val rndNum: LiveData<Int> = _rndNum


fun genRnd() = runBlocking<Unit> {
randomNumber().onEach {
_rndNum.value = it
}
}

private suspend fun randomNumber(): Flow<Int> {
return flow {
coroutineScope {
for (i in 1..10) {
emit(Random.nextInt(0, 100))
kotlinx.coroutines.delay(100)
}
}
}
}
}

Есть слушатель:
fun Greeting(viewModel: MainViewModel = androidx.lifecycle.viewmodel.compose.viewModel()) {
val rndNum by viewModel.rndNum.observeAsState(1)
viewModel.genRnd()

Greeting(rndNum = rndNum)
}

Хочу сделать, чтобы автоматически вызывался Greeting с обновляемым числом.

1 ответов

12 просмотров
Виктор-Колышев Автор вопроса

Вот этот код, только у флоу убрал внутренний цикл

Похожие вопросы

Обсуждают сегодня

@y0zhig @shizzard А можно я опишу цель и может вообще ерланг мне не подходит. На текущий момент как я понимаю у ерланга есть легковесные потоки и задача выполняется в каком т...
Дмитрий Спиридонов
5
Нужен пулл реквест с хаммингберд + асинкхттпклиент или хаммингберд + юрлсессия?
Karl {🌪️}{🐊} Shinobi
7
Всем привет. Подскажите, почему не меняется значение поля при переключении сайта?
Alexander Peterikov
11
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
Отдельные отрезки задачи.... Этот момент я пока не понимаю, но пропустим. А что касается ноды... Вот выключилось питание у сервера а он там по tcp куда то сообщение уже отправ...
Дмитрий Спиридонов
1
'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
dvr_hour_storage.erl -spec open(Spec, Name) -> {ok, Storage} | {error, LocalError} when Spec :: dvr:dvr_opts(), Name :: dvr:name(), Storage :: dvr_hour_storage(), Loc...
Maksim Lapshin
1
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
подскажите, а как можно очистить экран с библиотекой POSIX-UEFI?
Vi Chapmann 🪙
4
Добрый день, не подскажите, если в OC-V3 поменять страндартную директорию /storage/ на /storage2/ - не будет сильно много проблем ?
Max Dubovsky
32
Карта сайта