var value by Remember {mutableStateOf (default)} produit une erreur, pourquoi?

Nov 22 2020

Je fais référence à l'exemple de https://developer.android.com/jetpack/compose/state. Quand je code

var expanded by remember { mutableStateOf(false) }

Il erreurs indiquant

Type 'TypeVariable(T)' has no method 'getValue(Nothing?, KProperty<*>)' and thus it cannot serve as a delegate

Le ci-dessous fonctionne bien

val expanded = remember { mutableStateOf(false) }

// OR

val (expanded, setExpanded) = remember { mutableStateOf(false) }

Réponses

5 Elye Nov 22 2020 at 07:53

Apparemment, je dois inclure ces importations

import androidx.compose.runtime.getValue
import androidx.compose.runtime.setValue

Les importations automatiques ne le recommandent pas automatiquement dans la version bêta d'Android Studio 4.2

Si vous utilisez Liveata, considérez l'importation ci-dessous

import androidx.compose.runtime.livedata.observeAsState