Как перейти к одному и тому же композиционному, но использовать разные параметры?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как перейти к одному и тому же композиционному, но использовать разные параметры?

Сообщение Anonymous »

Я хотел бы перейти на разные страницы, следуя кнопке, которую я нажимаю. Я застрял с функцией разборки < /p>

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

import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.navigation.NavHostController
import androidx.navigation.compose.NavHost
import androidx.navigation.compose.composable
import androidx.navigation.compose.rememberNavController

enum class CalculationScreens {
ChooseLevel,
Addition
}

@Composable
fun ActivityChoice(
navController: NavHostController = rememberNavController()
) {
Scaffold() { innerPadding ->
NavHost(
navController = navController,
startDestination = CalculationScreens.ChooseLevel.name
) {
composable(route = CalculationScreens.ChooseLevel.name) {
ChooseLevel(
onButtonLevelClicked = {
navController.navigate(CalculationScreens.Addition.name)
},
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
)
}

composable(route = CalculationScreens.Addition.name) {
AdditionScreen(
level = "easy",
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
)
}

composable(route = CalculationScreens.Addition.name) {
AdditionScreen(
level = "medium",
modifier = Modifier
.fillMaxSize()
.padding(innerPadding)
)
}
}
}
}
< /code>
Страница с двумя кнопками: < /p>
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.widthIn
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp

@Composable
fun ChooseLevel(
onButtonLevelClicked: () -> Unit,
modifier: Modifier = Modifier
) {
Column(
modifier = modifier,
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
Button(
onClick = onButtonLevelClicked,
Modifier.widthIn(min = 250.dp)
) {
Text("Easy")
}
Button(
onClick = onButtonLevelClicked,
Modifier.widthIn(min = 250.dp)
) {
Text("Medium")
}
}
}
< /code>
Можно ли передать переменную (level
в моем случае) Когда я нажимаю на кнопку?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... parameters
Ответить

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

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

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

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

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