如何在setText方法中嵌入if语句实现动态文本赋值?
在Android中给TextView嵌入条件判断设置文本
首先,你写的代码在Java里是语法错误,因为if-else语句块不能直接作为方法参数传递。不过可以用更简洁的三元运算符来实现相同效果,这是Java里支持的表达式写法,能直接放在方法参数里:
textView.setText(value == 0 ? "no" : "yes");
补充说明:
- 三元运算符的格式是
条件 ? 条件为真时的值 : 条件为假时的值,它是一个表达式,会返回对应的值,所以可以直接作为setText()的参数。 - 如果你的条件逻辑更复杂(比如超过两个分支,或者需要多行处理),可以先把结果赋值给一个变量,再传给
setText():String displayText; if (value == 0) { displayText = "no"; } else if (value == 1) { displayText = "yes"; } else { displayText = "unknown"; } textView.setText(displayText); - 如果你用的是Kotlin(Android开发常用的另一种语言),它支持if表达式(注意是表达式不是语句),可以直接这么写,和你示例里的写法很像:
textView.setText(if (value == 0) "no" else "yes")
内容的提问来源于stack exchange,提问作者Speedy
相关产品推荐
相关产品推荐

