1

检查 textView 文本的 if 条件结果存在一些问题

这是更多解释的代码

时间.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

问题是什么 ???

4

4 回答 4

2

始终使用equals()方法进行String 价值比较。

if (!minView.getText().toString().trim().equals("--")) {
....
}

==用于比较对象引用。equals()是用于值比较的一种。

PS:- @ SO 这里有无数个问题,更详细地解释了这一点。请参考它们以获得更清晰的信息。

于 2013-04-02T05:17:53.733 回答
2

你在使用 Java 老兄,所以将相关行更改为:

    if (minView.getText().toString().trim().equals("--")) 
    {
    //write your code here.
}...
于 2013-04-02T05:17:55.020 回答
1

始终使用字符串值/对象的 equals() 比较字符串。

if(!minView.getText().toString().trim().equals("--")){

}....

这将比较值,minView.getText().toString().trim() != "--"这将比较两个字符串对象

于 2013-04-02T05:18:06.460 回答
1

用这个

if (!minView.getText().toString().trim().equals("--")

使用方法

if (minView.getText().toString().trim() != "--") 
于 2013-04-02T05:18:36.407 回答