0

HTTP POST を使用してアプリへのログイン機能を修正しようとしています。ユーザー名とパスワードのフィールドから送信しています。

アプリで共有設定を作成するための関数を追加したとき、最初はうまくいきました。結果を読むif文がうまくいかないようです。

super.onPostExecute(result);
if(result.equals("yes")){
    loggedIn();
}else{
    Toast.makeText(getApplicationContext(), "Error: " + result, Toast.LENGTH_SHORT).show();
}       

PHP 応答から「はい」を読み取ると、別の関数が実行されますしかし、それは決して起こりません。代わりにELSEが読み取られます。何が問題なのかを調べるために、PHP が応答する内容のトーストを作成したところ、「はい」と応答しました。うまくいかないのはなぜですか?どんな手掛かり?

4

1 に答える 1

4

あなたの問題について正確にはわかりませんが、トーストが表示されているので、いくつかの可能性があります

  1. ケースの不一致。この場合、equalIgnoreCasesメソッドを使用します
  2. 応答に余分なスペース。この場合、containsまたはindexof確実に使用する

Rajeshがコメントで言ったように両方を組み合わせた後

あなたが使用することができます

result = result.trim().equalsIgnoreCase("yes");

于 2013-05-24T18:14:08.057 に答える