Обновление экранаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Обновление экрана

Сообщение Anonymous »

Я написал свое первое приложение. Он отображает простой экран с дополнением для завершения. Если данный ответ правильный, я хотел бы обновить экран, чтобы отобразить новый расчет.
В настоящее время старый расчет остается, а новый вставляется вверху.
Экран, который мне нужен:
Изображение

Что я вижу на экране после нескольких ответов:
[img]https://i.sstatic .net/mLwXbEhD.png[/img]

Вот мой код:

Код: Выделить всё

package com.example.calcul

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxHeight
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.text.KeyboardActions
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.TextField
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.remember
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.text.input.KeyboardType
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import com.example.calcul.ui.theme.CalculTheme
import kotlin.random.Random

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()

setContent {
CalculTheme {
MainContent()
}
}
}
}

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun MainContent() {
Scaffold(
topBar = {
TopAppBar(
colors = TopAppBarDefaults.topAppBarColors(
containerColor = MaterialTheme.colorScheme.primaryContainer,
titleContentColor = MaterialTheme.colorScheme.primary,
),
title = {
Text("Addition")
}
)
},
) { innerPadding ->
Column(
modifier = Modifier
.fillMaxHeight()
.fillMaxWidth()
.border(2.dp, color = Color.Red)
// For text to be displayed under the bar
.padding(innerPadding)
) {
//Add()
InitializeNumbers()
}
}
}

@Composable
fun Add(fist: String, second: String) {

var haveToReset by remember {
mutableStateOf(false)
}
if (haveToReset) {
InitializeNumbers()
}

val focusRequester = remember { FocusRequester() }

var fist_number by remember { mutableStateOf(fist) }
var second_number by remember { mutableStateOf(second) }
var resultInput by remember { mutableStateOf("") }

var result by remember { mutableIntStateOf(0) }
result = fist_number.toInt() + second_number.toInt()

val maxChar:  Int = 2

Spacer(modifier = Modifier.height(50.dp))
Text(
text = "$fist_number + $second_number = ",
fontSize = 50.sp
)

TextField(
value = resultInput,
singleLine = true,
// https://stackoverflow.com/questions/67136058/textfield-maxlength-android-jetpack-compose
onValueChange = { if (it.length 

Подробнее здесь: [url]https://stackoverflow.com/questions/79107477/refreshing-the-screen[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»