1

私はこれでどこが間違っているのか本当にわかりません。どんな助けでも大歓迎です。

私はJSONArray

JSONArray jsonArray = new JSONArray(responseString);

responseString が ["prob", "2"] の場合

私は1番目を取得しますString

String maybeProb = jsonArray.getString(0);

トーストを使用して表示すると、すべて問題なく、トーストのポップアップに問題が表示されます

Toast.makeText(getBaseContext(),maybeProb ,Toast.LENGTH_LONG).show();

しかし、使用するif (maybeProb == "prob")と true が返されない

なぜだめですか???私は何を間違っていますか???

あなたのためのいくつかの詳細:

オリジナルを形成するresponseStringは、サーバーJSONArrayから送信されますHttpPost

InputStream is = null;

HttpResponse response = httpclient.execute(httppost);

HttpEntity entity = response.getEntity();

is = entity.getContent();

//Convert response to string
responseString = convertStreamToString(is);

public String convertStreamToString(InputStream inputStream) {

    StringBuilder sb = null;
    String result = null;

    try
    {           
      BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
      sb = new StringBuilder();
      String line = null;

      while ((line = reader.readLine()) != null)
      {
        sb.append(line + "\n");
      }

      inputStream.close();
      result = sb.toString();

    }
      catch(Exception e)
    {
      Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
    }

    // return the string
    return result;
}

応答を行うサーバー上のPHPは

$message = array("prob", "2");

$response = json_encode($message);

print($response);

私を助けることができる人に感謝します

4

2 に答える 2

4

Java でオブジェクトを比較するには、演算子.equals()の代わりにメソッドを使用します"=="

次のコードを置き換えます

 if(maybeProb  == "prob") {
 }

これで。

 if(maybeProb.equals("prob")) {
 }
于 2013-10-15T09:02:34.790 に答える