Что может быть причиной того, что ленивые столбцы/сетки не работают в приложении Jetpack Compose для Android?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Что может быть причиной того, что ленивые столбцы/сетки не работают в приложении Jetpack Compose для Android?

Сообщение Anonymous »

Когда я пытаюсь использовать Lazy-элементы со своим списком данных, приложение разрушается. У этого столкновения есть следующий сценарий:
  • вызов NavHost для экрана с помощью Lazy вызывает небольшое зависание и перезапуск приложения.
  • после перезапуска приложение при вызове NavHost для того же экрана вызывает сбой с системным сообщением «приложение продолжает останавливаться»
    в журнале нет фатальных ошибок
Я пробовал разные способы отправки моих данных ленивому. И с помощью Log.d мы увидели, что данные доступны до того, как должна запуститься функция items(){}.
Также я пытался отправить любые случайные простые данные для создания локального Lazy в Composable (например, список от 1 до 10 и текстовые элементы со значениями)
Все работает, когда я использую простой столбец, строки или 1 элемент
Там мой текущий код для этого элемента. Но это также не сработает, если я использую Any Text() вместо элемента Content.
@Composable
fun ContentGrid (
content: List) {

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

LazyColumn {
items(content){it ->
ContentElement(item = it)
}
}
@Composable
fun ContentElement (item: Item) {

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

Card(
modifier = Modifier
.fillMaxWidth(0.4f)
.fillMaxHeight(0.3f)
.clip(RoundedCornerShape(10))
.clickable(enabled = true , onClick = { })
,
colors = CardDefaults.cardColors(
containerColor  = Color(200, 200, 238, 226),
contentColor = Color.Black)

) {
Column (
modifier = Modifier.padding(5.dp),
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.SpaceBetween
) {
Image(
painter = rememberAsyncImagePainter(item.url),
contentDescription = null,
contentScale = ContentScale.FillWidth,
modifier = Modifier
.size(100.dp)
)
/* AsyncImage(
model = item.url,
contentDescription = item.title,
modifier = Modifier
.size(200.dp, 200.dp)
.clip(RoundedCornerShape(10)),
contentScale = ContentScale.FillWidth)*/
Column (
Modifier.fillMaxWidth(),
horizontalAlignment = Alignment.Start
) {
Spacer(Modifier.height(10.dp))
Text(item.title, fontSize = 15.sp, fontWeight = FontWeight.Bold)
Spacer(Modifier.height(10.dp))
Text(item.price, fontSize = 20.sp, fontWeight = FontWeight.Bold)
}
}

}


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

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

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

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

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

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

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