2016-12-16 5 views
0

Ich versuche, eine Methode von getParams() aufrufen, aber nichts passiert, ist es der richtige Weg, um von getParams() oder falsch? Diese Methode getDrugId(drugNames.get(i)); gibt einen Wert zurück, aber wenn ich es in getparams(); nichts passiert.Aufruf Methode von getParams()

{ 
       @Override 
       protected Map<String, String> getParams() throws AuthFailureError { 

        Map<String, String> params = new HashMap<String, String>(); 
        for (int i = 0; i<drugNames.size(); i++){ 

         params.put("drid["+i+"]",getDrugId(drugNames.get(i))); 
         params.put("paid", 1+""); 
        } 



        return params; 
       } 

private String getDrugId(final String drugName) { 
 

 

 

 
     StringRequest stringRequest = new StringRequest(Request.Method.POST, Config.ROOT + Config.GETRUGSIDS, new Response.Listener<String>() { 
 
      @Override 
 
      public void onResponse(String response) { 
 

 

 
        drID=response.trim(); 
 
//     Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show(); 
 

 
      } 
 
     }, new Response.ErrorListener() { 
 
      @Override 
 
      public void onErrorResponse(VolleyError error) { 
 

 
       if (error instanceof TimeoutError) { 
 
        Toast.makeText(getApplicationContext(), "time out Error", Toast.LENGTH_LONG).show(); 
 
       } else if (error instanceof NoConnectionError) { 
 
        Toast.makeText(getApplicationContext(), "no Connection Error", Toast.LENGTH_LONG).show(); 
 
       } else if (error instanceof AuthFailureError) { 
 
        Toast.makeText(getApplicationContext(), "Authenticatin Failure Error", Toast.LENGTH_LONG).show(); 
 
       } else if (error instanceof NetworkError) { 
 
        Toast.makeText(getApplicationContext(), "Network Error", Toast.LENGTH_LONG).show(); 
 
       } else if (error instanceof ServerError) { 
 
        Toast.makeText(getApplicationContext(), "Server Error", Toast.LENGTH_LONG).show(); 
 
       } else if (error instanceof ParseError) { 
 
        Toast.makeText(getApplicationContext(), "JASON Parse Error", Toast.LENGTH_LONG).show(); 
 
       } 
 

 
      } 
 
     }) { 
 
      @Override 
 
      protected Map<String, String> getParams() throws AuthFailureError { 
 
       Map<String, String> params = new HashMap<String, String>(); 
 

 
       params.put("drNAM",drugName); 
 

 
       return params; 
 
      } 
 
     }; 
 

 
     MySingleton.getInstance(getApplicationContext()).addToRequestQueue(stringRequest); 
 
     return drID; 
 
    }

+0

können Sie den gesamten Code – Athul

Antwort

0

Sie den Aufruf der Methode getDrugId(drugNames.get(i)); ohne mit dem Ergebnis, etwas zu tun.

Sie sollten wahrscheinlich das Ergebnis als Index verwenden, so, oder?

  @Override 
      protected Map<String, String> getParams() throws AuthFailureError { 

       Map<String, String> params = new HashMap<String, String>(); 
       for (int i = 0; i<drugNames.size(); i++){ 

        params.put("drid["+getDrugId(drugNames.get(i))+"]",drugNames.get(i)); 
        params.put("paid", 1+""); 
       } 



       return params; 
      } 
+0

10 so teilen params.put ("drid [" + i + "]", getDrugId (drugNames.get (i))); – NawalSalameh

+0

Bevor Sie Werte in die Params Map setzen, rufen Sie die Methode getDrugId auf (drugNames.get (i)); aber nichts mit dem Ergebnis zu tun, warum ist das so? –

+0

Ich rief die Methode "getDrugId (drugNames.get (i)))", um "drugId Wert" von mysql zu bekommen, indem ich den Namen der Droge sendete, werde ich den vollen Code – NawalSalameh

0

getDrugId(drugNames.get(i)); Dies soll etwas Wert zurückgeben, oder? Aber Sie weisen nirgends den Wert zu, den der Methodenaufruf Ihnen in Ihrem Code zurückgibt, wie er aussieht. Außerdem könnten Sie debuggen und überprüfen, was getDrugId(xxx) zurückgibt, wenn Sie daran denken, den Aufruf dieser Methode zu verwenden.

+0

ich debuggte die Methode und es gibt eine zurück Wert, aber wenn ich es in getparams() steckte nichts passiert – NawalSalameh

+0

Sie können dies verweisen: http://StackOverflow.com/Questions/24285544/android-volley-http-request-custom-header/24402403#24402403 und http://stackoverflow.com/questions/24284651/volley-not-calling-getparams-for-standard-post-request –