1

textView のテキストをチェックする if 条件の結果に問題があります

これは詳細を説明するためのコードです

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 を表示します。

何が問題ですか ???

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 に答える