我有一个使用...
设置的TextView// Declare view variables
private TextView mInfoText;
// Assign views from layout file to cor. vars
mInfoText = (TextView) findViewById(R.id.infoText);
我如何为其中的文本执行if else语句,我想这样做,但它不起作用,我在“Sand”一词下面得到一条红线。
if (mInfoText = "Sand"){
//Show correct
} else {
//Show incorrect
}
有什么想法吗?
答案 0 :(得分:2)
您想要将TextView
的值与String进行比较。 TextView不是String,不是精确的。它是一个具有属性的对象。您需要调用getText()
来返回String。
此外,您需要使用==
,这是一个相等检查。这将在声明中返回true或false。如果你使用一个=
,它将永远是真的。一个等号用于分配
if (mInfoText.getText() == "Sand")
答案 1 :(得分:1)
你可以这样做:
if (mInfoText.getText().equals("Sand")){
....
}
答案 2 :(得分:0)
你必须这样做。作为String对象应该使用String#equals
方法进行比较。
if (mInfoText!=null && mInfoText.getText().toString().equals("Sand")){
//Show correct
} else {
//Show incorrect
}
答案 3 :(得分:0)
您需要使用mInfoText.getText()
获取文本字段的内容
然后将其与equals
if(mInfoText != null && mInfoText.getText().equals("Sand")){
//Show correct
}else{
//Show incorrect
}
答案 4 :(得分:-1)
=
是赋值运算符。使用==
运算符进行实例比较。
您应该使用equals()
方法检查两个字符串的内容是否相同。