Kotlin for循环条件判断问题:i=5时修改按钮文本未生效
问题原因与解决办法
嘿,我一眼就发现问题所在啦!你的按钮文本始终没变成“Timer End”,核心原因是你的for循环永远不会让变量i等于5。
具体分析
你写的循环是:
for (i in 1 until 5 step 2)
这里的until 5表示的是左闭右开区间——也就是i的取值范围是1到4(不包含5),再加上step 2(每次步长为2),循环里的i只会依次取到1和3,根本碰不到5,所以那个判断i == 5的条件永远不会触发,按钮自然也就不会更新文本啦。
修正方案
只需要把循环里的until 5改成..5就行,..表示闭区间,会包含两端的数值:
fun loopFunction(){ for (i in 1..5 step 2) { if (i == 5){ btn.text = "Timer End" //btn is Button } println(i) } }
这样循环时i会依次取到1、3、5,当i等于5时,就能顺利触发按钮文本的修改逻辑啦。
内容的提问来源于stack exchange,提问作者Ujjval
相关产品推荐
相关产品推荐

