Jetpack создает снимок потока. Flow не работает должным образом.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Jetpack создает снимок потока. Flow не работает должным образом.

Сообщение Anonymous »

Я пытался помочь кому-то с этим snapshotFlow, и нам обоим было интересно узнать об этой проблеме состояния. как мы знаем, snapshotFlow поможет нам получить значения состояния в виде потока.
Проблема
val (number1, setNumber1) = remember {
mutableStateOf(0)
}


Мы использовали это состояние, как в приведенном выше коде. чтобы установить значение, мы использовали еще один метод. но по какой-то причине этот snapshotFlow не работал, и в LaunchedEffect мы не смогли собрать эти значения. но потом попробовал вот так.
val number2 = remember {
mutableStateOf(0)
}

Все работает как положено.
Так в чем же может быть проблема? Number1Flow не будет собирать значения, когда мы их изменяем, но Number2Flow будет работать.
если мы что-то пропустили, сообщите нам.
А также полный код.
@Composable
fun Sample() {
val (number1, setNumber1) = remember {
mutableStateOf(0)
}

val number2 = remember {
mutableStateOf(0)
}

LaunchedEffect(key1 = true) {
snapshotFlow {
number1
}.collect {
Log.v("number1Flow", it.toString())
}
}
LaunchedEffect(key1 = true) {
snapshotFlow {
number2.value
}.collect {
Log.v("number2Flow", it.toString())
}
}
Text(
text = "number1= $number1",
)
Text(
text = "number2= ${number2.value}",
)

Button(onClick = {
setNumber1(number1 + 1)
number2.value += 1
}) {
Text(
text = "increase the value",
)
}
}


Подробнее здесь: https://stackoverflow.com/questions/764 ... s-expected
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»