如果条件检查textView文本
,则存在一些问题这是更多解释的代码
times.xml
<TextView
android:id="@+id/tiMinutesView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="--"
android:textColor="#3134E8" />
TimesActivity.java
TextView minView;
minView = (TextView) v.findViewById(R.id.tiMinutesView);
if (minView.getText().toString().trim() != "--") {
Toast.makeText(TimesActivity.this,
"OK",
Toast.LENGTH_LONG).show();
} else {
Toast.makeText(TimesActivity.this,
"NO", Toast.LENGTH_LONG)
.show();
}
现在应该返回false并显示NO,因为它实际上等于“ - ”,但它返回true并显示OK
问题是什么???
答案 0 :(得分:2)
始终使用equals()
方法进行String
值比较。
if (!minView.getText().toString().trim().equals("--")) {
....
}
==
用于比较对象引用。 equals()
是用于值比较的那个。
P.S:这里有一个 zillion 问题@ SO,它更详细地解释了这一点。为了更清晰,请参考它们。
答案 1 :(得分:2)
你是Java老兄,所以将相关的行改为:
if (minView.getText().toString().trim().equals("--"))
{
//write your code here.
}...
答案 2 :(得分:1)
始终使用字符串值/ object的equals()比较字符串。
if(!minView.getText().toString().trim().equals("--")){
}....
这将比较值和minView.getText().toString().trim() != "--"
这将比较两个字符串对象
答案 3 :(得分:1)
使用此
if (!minView.getText().toString().trim().equals("--")
而不是使用
if (minView.getText().toString().trim() != "--")