1

サーバーの魔女が「False~False~False~True~False~True~False~」などの文字列を送信してきたので、その文字列を「 ~" だから、私のコードはString[] AString = A2MCString.split("~");新しい文字列配列を使用していたので、if else ステートメントを使用して、各セクションが true か false かを確認するためにチェックに行きました

if (AString[0] == "True") {
Log.d("ClientActivity","Light ON");
On1.setBackgroundResource(R.drawable.selected_on);
}
else Log.d("ClientActivity","Light OFF");

ただし、サーバーが文字列配列の最初の部分で true を送信しても、配列は true でも false であると言って他の場所にバウンスしますか? 私の問題の助けに感謝します!

4

1 に答える 1

5

Java で文字列を比較する場合は、equalsメソッドを使用する必要があります。あなたの場合、次のようなもの

if (AString[0].equals("True")) {
    Log.d("ClientActivity","Light ON");
    On1.setBackgroundResource(R.drawable.selected_on);
}
else Log.d("ClientActivity","Light OFF");

オブジェクトで == 演算子を使用する場合 (Java では文字列はオブジェクトです)、2 つのオブジェクト参照が同じオブジェクトを指しているかどうかを比較します。

于 2012-05-06T19:49:38.863 に答える