Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
196 of 502 menu
◀ ▶

Метод item

Метод item приёмника LazyListScope регистрирует один элемент списка. Содержимое задают в лямбде content. Необязательные key и contentType помогают Compose сохранять состояние при изменении данных.

Синтаксис

item { Text("abcde") }

Параметры

Параметр Описание
content Лямбда с composable одного пункта списка.
key Стабильный ключ пункта для идентификации при перестроении.
contentType Метка типа содержимого для переиспользования ячеек.

Пример

Давайте добавим два отдельных пункта через item:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyColumn { item { Text(text = "abcde") } item { Text(text = "12345") } } } } }

На экране две строки текста пойдут друг за другом в вертикальном списке.

Пример

Давайте зададим ключ для пункта с состоянием:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.material3.Text class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { LazyColumn { item(key = "header") { Text(text = "abcde") } item(key = "body") { Text(text = "12345") } } } } }

На экране порядок строк тот же, но Compose сможет точнее сопоставлять пункты при обновлении списка.

Смотрите также

  • метод items,
    который добавляет много пунктов из коллекции
  • класс LazyListScope,
    где объявлен item
  • функция LazyColumn,
    в лямбде которой вызывают item
  • метод stickyHeader,
    который добавляет закреплённый заголовок
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить