композбл функци:
@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 с обновляемым числом.
Вот этот код, только у флоу убрал внутренний цикл
Обсуждают сегодня