Android Kotlin是否有与'+=';文本视图上的操作员?
Android Kotlin是否有与'+=';文本视图上的操作员?,android,kotlin,Android,Kotlin,我尝试了txtCalc.text=“文本”+“0”,但它不起作用如果您在文本视图中读取当前文本,您将得到一个字符序列,在将任何内容连接到它之前,必须将其转换为字符串: textView.text = textView.text.toString() + "0" 或者您可以使用TextView的方法: textView.append("0") inline operator fun TextView.plusAssign(text: CharSequence) = append(text)
我尝试了txtCalc.text=“文本”+“0”,但它不起作用如果您在
文本视图中读取当前文本
,您将得到一个字符序列
,在将任何内容连接到它之前,必须将其转换为字符串:
textView.text = textView.text.toString() + "0"
或者您可以使用TextView
的方法:
textView.append("0")
inline operator fun TextView.plusAssign(text: CharSequence) = append(text)
textView += "0"
或者,如果您确实想使用
+=
,您可以在文本视图上创建自己的扩展:
textView.append("0")
inline operator fun TextView.plusAssign(text: CharSequence) = append(text)
textView += "0"
字符序列,即text
是,不定义+
(加号运算符)
使用一个字符串模板,你可以写得更简洁
注意:toString()
在文本(CharSequence
)上被隐式调用,从而将其转换为字符串
textView.text = "${textView.text}0"
如果您想实际使用可修改的视图字符串,您可能需要查看android数据绑定。由于我使用了textView.append(“0”),所以仍然无法正常工作。这很好,但是如果我想在旧文本之前添加0,比如textView.text=“0”+textView.text,您仍然可以使用我向您展示的第一个代码示例-或者是,或者使用@Willi Mentzel的另一个答案中所示的字符串模板