3

Java を使用して Android で 2 つの文字列を比較するのに苦労しています。私が行っているのは、yes または no を返す HTTP get リクエストを実行しており、それに基づいて、新しいアクティビティを開始するかどうかを決定することです。

Async onPostExecute メソッド内で文字列比較を実行していますが、HTTP で返された文字列は yes ですが、うまくいきません。

ここにコードがあります

        protected void onPostExecute(String result) {
        progressDialog.dismiss();
        if(result.equals("yes"))
        {
            Intent toDashboard = new Intent(LoginActivity.this,Dashboard.class); 
            startActivity(toDashboard);
            Toast.makeText(LoginActivity.this, "It was yes", Toast.LENGTH_LONG).show();
        }
        else
        {
            Toast.makeText(LoginActivity.this, result, Toast.LENGTH_LONG).show();
        }
    }

返された文字列は yes ですが、if ステートメントをスキップし、"Yes" を示すトーストを作成します。

文字列を一致させる他の方法もいくつか試しましたが、それらはすべてここにあります

if(result == "yes")
if(result.toString().equals("yes"))
if(result.contentEquals("yes"))
if(result.equalsIgnoreCase("yes"))

それらのどれも私のために働きません

4

2 に答える 2

8

結果として空白が生じる場合があります。

トリミングしてみてください。

result.trim().equals("yes")
于 2013-01-13T20:58:16.440 に答える
2

これを試して

str1.toLowerCase().contains(str2.toLowerCase())

それは私のために働く

于 2014-10-08T04:28:07.050 に答える