El Código A es del proyecto de muestra oficial.
No entiendo qué significa val tasks = remember { mutableStateListOf(*allTasks) } , ¿podría decirme?
Por cierto, Android Studio dame información, puedes ver la imagen A
Código A
@Composable fun Home() { // String resources. val allTasks = stringArrayResource(R.array.tasks) val allTopics = stringArrayResource(R.array.topics).toList() // The currently selected tab. var tabPage by remember { mutableStateOf(TabPage.Home) } // True if the whether data is currently loading. var weatherLoading by remember { mutableStateOf(false) } // Holds all the tasks currently shown on the task list. val tasks = remember { mutableStateListOf(*allTasks) } ... }Imagen A
De la documentación de varargs :
Cuando llama a una función vararg, puede pasar argumentos individualmente, por ejemplo, asList(1, 2, 3). Si ya tiene una matriz y desea pasar su contenido a la función, use el operador de propagación (prefije la matriz con *):
val a = arrayOf(1, 2, 3) val list = asList(-1, 0, *a, 4)
Como puede ver, expande una matriz a múltiples valores para usar en un vararg. Si tiene una matriz que contiene los elementos 1, 2, 3 , puede pasar *yourArray a un método que sea equivalente a yourMethod(1,2,3) .
En Kotlin * es el Operador de Propagación. De documentos :
Cuando llama a una función vararg, puede pasar argumentos individualmente, por ejemplo, asList(1, 2, 3). Si ya tiene una matriz y desea pasar su contenido a la función, use el operador de propagación (prefije la matriz con *):
val a = arrayOf(1, 2, 3) val list = asList(-1, 0, *a, 4)
En este caso, las tasks contendrán la lista de cadenas de R.array.tasks