2011-07-14 9 views
1

を与えていると私はadd(int,Object)メソッドを使用して値を追加していますが、私はget(int)メソッドを使用して値を取得していたとき、私は最後に追加された値であるリストは、私がリストを持っているrepited値に

誰もが適切な提案を与えることができ、同じ値を取得しています? コードを参照してください。

パブリック静的リストgetCompanyName(String型のuser_id){

List<CustomerList> fetchDatefromID = new ArrayList<CustomerList>(); 
    CustomerList tempProgram = new CustomerList(); 
    String result = ""; 
    InputStream is = null; 

    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
    nameValuePairs.add(new BasicNameValuePair("q", "" + user_id)); 

    // http post 
    try { 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(
       "https://erestaurantonline.co.uk/kernow_mobile/customer_search.php?"); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
     HttpResponse response = httpclient.execute(httppost); 
     HttpEntity entity = response.getEntity(); 
     is = entity.getContent(); 
    } catch (Exception e) { 
     Log.e("log_tag", "Error in http connection " + e.toString()); 
    } 
    // convert response to string 
    try { 
     BufferedReader reader = new BufferedReader(new InputStreamReader(
       is, "iso-8859-1"), 8); 
     StringBuilder sb = new StringBuilder(); 
     String line = null; 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
     is.close(); 
     result = sb.toString(); 
    } catch (Exception e) { 
     Log.e("log_tag", "Error converting result " + e.toString()); 
    } 

    // parse json data 
    try { 
     JSONArray jArray = new JSONArray(result); 
     for (int i = 0; i < jArray.length(); i++) { 
      JSONObject json_data = jArray.getJSONObject(i); 

      if (json_data.getString("company") != null) { 
       tempProgram.setCompanyName(json_data.getString("company")); 
       tempProgram.setID(json_data.getString("id")); 
       fetchDatefromID.add(i, tempProgram); 
      } 

     } 

    } catch (JSONException e) { 
     Log.e("log_tag", "Error parsing data " + e.toString()); 
    } 

    for (int i = 0; i < fetchDatefromID.size(); i++) { 
     Log.v("log_tag","DataMy : "+fetchDatefromID.get(i).getCompanyName().toString()); 
    } 
    return fetchDatefromID; 
} 

答えて

1

if (json_data.getString("company") != null) { 
       tempProgram = new CustomerList(); 
       tempProgram.setCompanyName(json_data.getString("company")); 
       tempProgram.setID(json_data.getString("id")); 
       fetchDatefromID.add(i, tempProgram); 
      } 

if (json_data.getString("company") != null) { 
       tempProgram.setCompanyName(json_data.getString("company")); 
       tempProgram.setID(json_data.getString("id")); 
       fetchDatefromID.add(i, tempProgram); 
      } 

を交換してみてくださいそれ以外の場合は、リスト内のすべての項目が同じオブジェクトを参照している、としたがって、あなたが最後に入力したデータが常に含まれます。

+0

okありがとうございました。 –

関連する問題