Есть ли в Kotlin аналог оператора '+ =' в TextViews?

Есть ли в Kotlin аналог оператора '+ =' в TextViews? Я пробовал txtCalc.text = "The text" + "0", но это не работает

Возможно, вам захочется посмотреть на привязку данных Android, если вы действительно хотите использовать изменяемые строки представления.

OneCricketeer 01.07.2018 16:30
3
1
1 986
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Если вы прочитаете текущий текст в TextView, вы получите CharSequence, который вам нужно будет преобразовать в строку, прежде чем присоединять к ней что-либо:

textView.text = textView.text.toString() + "0"

Или вы можете просто использовать метод appendTextView:

textView.append("0")

Или, если вы буквально хотите использовать +=, вы можете создать собственное расширение на TextView:

inline operator fun TextView.plusAssign(text: CharSequence) = append(text)

textView += "0"

спасибо, я использовал textView.append ("0"), это хорошо, но как насчет того, чтобы добавить 0 перед старым текстом. Например, textView.text = "0" + textView.text

Lezhar Ayman 01.07.2018 17:17

Вы все еще можете использовать первый пример кода, который я вам показал - либо как есть, либо со строковыми шаблонами, как показано в другом ответе @Willi Mentzel

zsmb13 01.07.2018 17:23

CharSequence, которым является text, не определяет + (оператор плюс).

В любом случае, используя строковый шаблон, вы можете написать его более кратко.

Примечание: toString() вызывается неявно в тексте (CharSequence), что превращает его в String.

textView.text = "${textView.text}0"

Не работает По-прежнему та же ошибка image.ibb.co/eAx46d/Screenshot_from_2018_07_01_15_58_34.png

Lezhar Ayman 01.07.2018 17:03

Другие вопросы по теме