2014-03-06 90 views
0

任何人都可以幫忙。當我想在另一個活動中獲得溫度時,我得到的值爲0. 在onResponse我嘗試設置溫度並將其設置。我不知道這個問題。從班級獲取價值活動?

private double temperature; 

public double getTemperature() { 
    return temperature; 
} 

public JSONparser(Context context, String city) { 

    RequestQueue queue = Volley.newRequestQueue(context); 
    String url = "http://api.openweathermap.org/data/2.5/weather?q=" + city; 

    JsonObjectRequest jsObjRequest = new JsonObjectRequest(
      Request.Method.GET, url, null, 
      new Response.Listener<JSONObject>() { 

       @Override 
       public void onResponse(JSONObject response) { 
        // TODO Auto-generated method stub 
        try { 

         temperature = (response.getJSONObject("main") 
           .getDouble("temp")); 

        } catch (JSONException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 

       } 
      }, new Response.ErrorListener() { 

       @Override 
       public void onErrorResponse(VolleyError error) { 
        // TODO Auto-generated method stub 

       } 
      }); 

    queue.add(jsObjRequest); 

} 
+0

嘗試改變'temperature'到一個靜態成員,如果有效的話。然後,實際上有另一個實例正在創建某處 – Keerthivasan

回答

1

爲你的類對象使用獨立的,並也meke setFunction,而不是直接初始化該becouse值值爲0,如果你不使用相同的對象

public void setTemperature(double mTemp) { 
    temperature = mTemp; 
} 
+0

你可以請重寫我的代碼單身?我不工作...仍然0 ... – D3laru3

+0

JSONparser jsp = new JSONparser(this,getCity()); \t \t double temperature = jsp.getTemperature(); (「」+ Math.round(temperature-272.5)+「°C」); – D3laru3

+0

首先它給我0.第二個正確的溫度... – D3laru3