Рынок классов с @Immutable или @Stable все еще нестабильен.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Рынок классов с @Immutable или @Stable все еще нестабильен.

Сообщение Anonymous »

Я изучаю стабильность и просматриваю эту запись в блоге https://medium.com/androiddevelopers/je ... c10db270c8, пытаясь локально воспроизвести некоторые сценарии.
Представьте, что у меня есть это:

Код: Выделить всё

ScalingLazyColumn(columnState = scrollState) {
item {
ContactRow(
snacks = listOf(
Snack("Peanut", setOf("alergic", "sweet")),
Snack("Chips", setOf("salty", "bier friendly")),
Snack("Sticks", setOf("salty", "bier friendly"))
),
contact = Contact("Gregory", "123345")
)
}
}
}
}

@Composable
fun ContactRow(snacks: List, contact: Contact) {
var selected by remember { mutableStateOf(false) }

Column {
Row(modifier) {
ContactDetails(contact)
ToggleButton(selected, onToggled = {
selected = !selected
})
}
HighlightedSnacks(snacks)
}
}

@Composable
fun ContactDetails(contact: Contact) {
val modifier = Modifier
.fillMaxWidth()
.background(Color.DarkGray)
.padding(vertical = 8.dp)
Column {
Text(modifier = modifier, text = contact.name, textAlign = TextAlign.Center)
Text(modifier = modifier, text = contact.number, textAlign = TextAlign.Center)
}
}

@Composable
fun ToggleButton(selected: Boolean, onToggled: (Boolean) -> Unit) {
Switch(checked = selected, onCheckedChange = { onToggled(it) })
}

@Composable
fun HighlightedSnacks(list: List) {
Column {
list.forEach {
Text(
modifier = Modifier
.fillMaxWidth()
.padding(vertical = 8.dp),
text = "${it.name} - ${it.tags}",
overflow = TextOverflow.Ellipsis,
textAlign = TextAlign.Center
)
}
}
}

data class Contact(val name: String, val number: String)

@Immutable // 

Подробнее здесь: [url]https://stackoverflow.com/questions/79078854/class-market-with-immutable-or-stable-is-still-unstable[/url]
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Что означают аннотации @Stable и @Immutable в Jetpack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Что означают аннотации @Stable и @Immutable в Jetpack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Что означают аннотации @Stable и @Immutable в Jetpack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Что означают аннотации @Stable и @Immutable в Jetpack Compose?
    Anonymous » » в форуме Android
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Невозможно открыть рынок eclipse, получая сообщение «Нет доступной реализации X509TrustManager»
    Гость » » в форуме JAVA
    0 Ответы
    35 Просмотры
    Последнее сообщение Гость

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