У меня возникли проблемы с выяснением того, как сделать то, что я хочу здесь... Я хочу изменить текст в Text Composable, когда я нажимаю кнопку, но я не могу заставить его работать, потому что я не не знаю, как ссылаться на данный текст. Компонуемый из onClick моей кнопки. В частности, я хочу написать код после строки
var mult: Double = typeMatchups[attackType][defenseType] * typeMatchups[attackType][defenseType2]
чтобы изменить текст текста, прокомментированного как «Отобразить результат здесь». Я не понимаю, как я могу это сделать, поскольку Composables возвращает Unit, а не ссылку на созданный объект, а также существует проблема, заключающаяся в том, что я не могу использовать stringResource() внутри onClick потому что это не составная функция. Вот мой код, значения itemList опущены, чтобы немного уменьшить размер моего сообщения, как и значения typeMatchups, который представляет собой 2D-массив Double< /code>s.
Что касается кода DropdownList Composable, я взял его с этого сайта.
@Composable
fun ContentView() {
val itemList = listOf(...)
var selectedIndex by rememberSaveable { mutableStateOf(0) }
var selectedIndex2 by rememberSaveable { mutableStateOf(0) }
var selectedIndex3 by rememberSaveable { mutableStateOf(0) }
val norm = 1.0
val weak = 0.5
val strg = 2.0
val inef = 0.0
val typeMatchups = arrayOf(...)
val buttonModifier = Modifier.width(100.dp)
Column(
modifier = Modifier,
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
//Start of 1st Row
Row {
Text(text = stringResource(R.string.attack_type))
DropdownList(
itemList = itemList,
selectedIndex = selectedIndex,
modifier = buttonModifier,
onItemClick = { selectedIndex = it },)
}
//End of 1st Row
//Start of 2nd Row
Row {
Text(text = stringResource(R.string.defending_type_1))
DropdownList(
itemList = itemList,
selectedIndex = selectedIndex2,
modifier = buttonModifier,
onItemClick = { selectedIndex2 = it })
}
//End of 2nd Row
//Start of 3rd Row
Row {
Text(text = stringResource(R.string.defending_type_2))
DropdownList(
itemList = itemList,
selectedIndex = selectedIndex3,
modifier = buttonModifier,
onItemClick = { selectedIndex3 = it })
}
//End of 3rd Row
// Text Composable showing selected types
Text(
text = stringResource(
R.string.selected_types,
itemList[selectedIndex],
itemList[selectedIndex2],
itemList[selectedIndex3]
),
textAlign = TextAlign.Center,
modifier = Modifier
.padding(3.dp)
.fillMaxWidth()
.background(Color.LightGray),
)
Button(onClick = {
val attackType = selectedIndex
val defenseType = selectedIndex2
val defenseType2 = selectedIndex3
var mult: Double = typeMatchups[attackType][defenseType] * typeMatchups[attackType][defenseType2]
}) {
Text("Filled")
}*/
//Display result here
Text(text = stringResource(R.string.button_default))
}
}
Подробнее здесь: https://stackoverflow.com/questions/783 ... when-using
Как изменить текст составного текста при нажатии кнопки при использовании strings.xml ⇐ Android
Форум для тех, кто программирует под Android
1713550780
Anonymous
У меня возникли проблемы с выяснением того, как сделать то, что я хочу здесь... Я хочу изменить текст в Text Composable, когда я нажимаю кнопку, но я не могу заставить его работать, потому что я не не знаю, как ссылаться на данный текст. Компонуемый из onClick моей кнопки. В частности, я хочу написать код после строки
var mult: Double = typeMatchups[attackType][defenseType] * typeMatchups[attackType][defenseType2]
чтобы изменить текст текста, прокомментированного как «Отобразить результат здесь». Я не понимаю, как я могу это сделать, поскольку Composables возвращает Unit, а не ссылку на созданный объект, а также существует проблема, заключающаяся в том, что я не могу использовать stringResource() внутри onClick потому что это не составная функция. Вот мой код, значения itemList опущены, чтобы немного уменьшить размер моего сообщения, как и значения typeMatchups, который представляет собой 2D-массив Double< /code>s.
Что касается кода DropdownList Composable, я взял его с этого сайта.
@Composable
fun ContentView() {
val itemList = listOf(...)
var selectedIndex by rememberSaveable { mutableStateOf(0) }
var selectedIndex2 by rememberSaveable { mutableStateOf(0) }
var selectedIndex3 by rememberSaveable { mutableStateOf(0) }
val norm = 1.0
val weak = 0.5
val strg = 2.0
val inef = 0.0
val typeMatchups = arrayOf(...)
val buttonModifier = Modifier.width(100.dp)
Column(
modifier = Modifier,
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.Center
) {
//Start of 1st Row
Row {
Text(text = stringResource(R.string.attack_type))
DropdownList(
itemList = itemList,
selectedIndex = selectedIndex,
modifier = buttonModifier,
onItemClick = { selectedIndex = it },)
}
//End of 1st Row
//Start of 2nd Row
Row {
Text(text = stringResource(R.string.defending_type_1))
DropdownList(
itemList = itemList,
selectedIndex = selectedIndex2,
modifier = buttonModifier,
onItemClick = { selectedIndex2 = it })
}
//End of 2nd Row
//Start of 3rd Row
Row {
Text(text = stringResource(R.string.defending_type_2))
DropdownList(
itemList = itemList,
selectedIndex = selectedIndex3,
modifier = buttonModifier,
onItemClick = { selectedIndex3 = it })
}
//End of 3rd Row
// Text Composable showing selected types
Text(
text = stringResource(
R.string.selected_types,
itemList[selectedIndex],
itemList[selectedIndex2],
itemList[selectedIndex3]
),
textAlign = TextAlign.Center,
modifier = Modifier
.padding(3.dp)
.fillMaxWidth()
.background(Color.LightGray),
)
Button(onClick = {
val attackType = selectedIndex
val defenseType = selectedIndex2
val defenseType2 = selectedIndex3
var mult: Double = typeMatchups[attackType][defenseType] * typeMatchups[attackType][defenseType2]
}) {
Text("Filled")
}*/
//Display result here
Text(text = stringResource(R.string.button_default))
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78354239/how-to-modify-the-text-of-a-text-composable-when-a-button-is-clicked-when-using[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия