我可以通过编程方式将 TextView 的 xml 文本与另一个字符串进行比较吗?

Can I compare a TextView's xml text with another string programmatically?

如果我在 XML 中设置 TextView 的文本,如下所示:

    <TextView
        ...
        android:text="0" />

我可以比较 Java 中的那个字符串吗?这样做:

    private void InitializeMethod() {
        A_1  = tv_1.getText().toString();
    }

    private void CheckAnsMethod() {
        if (A_1 == "0"){
            correctAns.start();
            }
        }else{
            wrongAns.start();
        }
    }

导致播放声音 'wrongAns.mp3'...

您需要使用字符串 class 的 equals() 方法:

 if ( "0".equals(A_1) )

"0" == A_1 将比较指向 String 对象所在位置的引用的值。换句话说,当你真的想比较字符串中的字符时,它正在比较内存地址。 字符串 class 的 equals() 方法实际上将逐个字符地比较字符串以检查它们是否相等。

此外,我使用 "0".equals(A_1) 而不是 A_1.equals("0") 的原因是因为如果 A_1 曾经 null 无论出于何种原因, "0".equals(A_1) 都不会抛出NullPointerException.