Der Zugriff auf den Parameter eines Lambda führt zu „Nichtübereinstimmung des Zuweisungstyps: Der tatsächliche Typ ist ‚Android

Forum für diejenigen, die für Android programmieren
Anonymous
 Der Zugriff auf den Parameter eines Lambda führt zu „Nichtübereinstimmung des Zuweisungstyps: Der tatsächliche Typ ist ‚

Post by Anonymous »

Ich versuche, einen Click-Handler an eine untergeordnete Funktion zu übergeben, der eine Zeichenfolge an die übergeordnete Funktion zurücksendet und einen veränderlichen Wert basierend auf der Zeichenfolge aktualisiert. Ich erhalte eine Fehlermeldung für die Funktion:

Nichtübereinstimmung des Zuweisungstyps: Der tatsächliche Typ ist „Einheit“, aber „String“ wurde erwartet.

Die Funktion gibt nichts zurück, sie aktualisiert nur die ausgewählte Farbe:

Code: Select all

@Composable
fun ColorsSection() {
val colors: List = listOf(
"Red" to Color.Red,
"Green" to Color.Green,
"Blue" to Color.Blue,
)
var selectedColor by remember { mutableStateOf("") }
val onSelectColor: (color: String) -> Unit = { selectedColor = color } // ERROR

LazyColumn(modifier = Modifier) {
items(items = colors) { color -> SingleColor(
colorName = color.first,
selectedColor = selectedColor,
colorValue = color.second,
onSelected = onSelectColor,
) }
}
}

@Composable
fun SingleColor(
colorName: String,
selectedColor: String,
colorValue: Color,
onSelected: (String) -> Unit,
) {
// ...
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post