首页 > 解决方案 > Java If Else Text 基于其他文本

问题描述

如果另一个文本框具有特定值,我试图让一个文本框填充 X,否则为 Y。但是,它看似随机填充 X 或 Y。d4 是我的按钮,d4result 是填充结果的位置,d4txt1 是我希望看到 1 或 0 的位置,具体取决于。

d4.setOnClickListener {
        if  (d4result.text.toString() == "1") {
            d4txt1.text = "1"
        } else {
            d4txt1.text = "0"
        }
        val rand = Random().nextInt(4) + 1
        d4result.text = rand.toString()
    }

因此,如果 d4result 填充 1,我希望 d4txt1 填充 1,否则它应该为零。但是当我尝试它时,我得到 1 或 0,我无法注意到何时/为什么的模式。

标签: javaandroid

解决方案


使用equals而不是==. ==只有当它比较的两个对象引用代表完全相同的对象时,运算符才会返回 true,否则“==”将返回 false。

d4.setOnClickListener {
        if  (d4result.text.toString().equalsIgnoreCase("1")) {
            d4txt1.text = "1"
        } else {
            d4txt1.text = "0"
        }
        val rand = Random().nextInt(4) + 1
        d4result.text = rand.toString()
    }

推荐阅读