Jetpack Compose Textfield State nicht aktualisiert die Benutzeroberfläche beim Tippen AktualisierungAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Jetpack Compose Textfield State nicht aktualisiert die Benutzeroberfläche beim Tippen Aktualisierung

Post by Anonymous »

Ich arbeite an einem Jetpack -Komponierungsbildschirm, auf dem Benutzer einen Titel in einem Textfeld eingeben, und eine Schaltfläche ist nur aktiviert, wenn der Titel nicht leer ist. Das Problem ist, dass die Benutzeroberfläche, obwohl die Titelstatusaktualisierungen (wie von LogCat bestätigt), die Änderungen nicht widerspiegelt - der Text im Textfeld wird nicht angezeigt und die Schaltfläche bleibt deaktiviert. < /P>
@Composable
fun TitleScreen(
modifier: Modifier = Modifier,
navigateToInitial: () -> Unit,
navigateToHelp: () -> Unit,
navigateToUpload: (Uri, String) -> Unit,
fileUri: Uri
) {
var title by rememberSaveable { mutableStateOf("") }

Column(
modifier = modifier
.fillMaxSize()
.background(White)
.verticalScroll(rememberScrollState()),
horizontalAlignment = Alignment.CenterHorizontally
) {
TextField(
value = title,
onValueChange = {
title = it
Log.d("TitleScreen", "New title: $title") // Log shows correct updates
},
label = { Text("Title") },
modifier = Modifier
.fillMaxWidth()
.height(56.dp)
.padding(bottom = 16.dp, start = 16.dp, end = 16.dp)
.clip(CircleShape),
colors = TextFieldDefaults.colors(
unfocusedContainerColor = TextFieldColor,
focusedContainerColor = TextFieldColor,
focusedTextColor = DarkBlack,
unfocusedTextColor = DarkBlack,
focusedIndicatorColor = Color.Transparent,
unfocusedIndicatorColor = Color.Transparent
),
maxLines = 1
)

Button(
onClick = { navigateToUpload(fileUri, title) },
colors = buttonColors(containerColor = Blue, disabledContainerColor = LightGray),
modifier = Modifier
.fillMaxWidth()
.padding(horizontal = 16.dp, vertical = 24.dp)
.height(50.dp),
enabled = title.isNotBlank() // Button remains disabled
) {
Text(text = "Next", fontSize = 25.sp, color = White, fontWeight = FontWeight.Bold)
}
}
}
< /code>
Debugging -Versuche: < /p>
  • Überprüftes logCat - Der Titelstatus aktualisiert korrekt. < /li>
    < li> ersetzt erinnern - Die Textaktualisierungen korrekt, aber das Textfeld bleibt leer.
Warum wird das Textfeld nicht mit dem neuen Wert des Titels aktualisiert und warum bleibt die Schaltfläche deaktiviert, obwohl der Titel im Status aktualisiert wird?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post