Что такое movableContentOf

«Что такое movableContentOf» — вопрос из категории Jetpack Compose, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

movableContentOf — это функция в Jetpack Compose, позволяющая переносить состояние и лямбды между разными позициями в UI без потери данных. Полезно при динамической перестановке элементов.

Пример:

val items = listOf("A", "B", "C")
val movableItems = items.map { item ->
    movableContentOf { Text(item) }
}

Column {
    movableItems[0]() // Отобразит "A"
    movableItems[2]() // Отобразит "C"
}

Ключевые особенности:

  • Сохраняет состояние при перемещении
  • Работает с лямбдами-композейблами
  • Оптимизирует рекомпозицию

Используется в сложных динамических лейаутах (LazyColumn, Drag&Drop).