2016-12-16 8 views
0

getParams()からメソッドを呼び出そうとしていますが、何も起こりません。getParams()または間違って呼び出す方法が正しいですか?このメソッドgetDrugId(drugNames.get(i));は値を返しますが、getparams();何も起こりません。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

コード全体を共有することができます – Athul

答えて

0

あなたは結果を何もせずにメソッドgetDrugId(drugNames.get(i));を呼んでいます。

おそらく結果をインデックスとして使用することになっているでしょうか?

  @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

params.put( "drid [" + i + "]"、getDrugId(drugNames.get(i)))); – NawalSalameh

+0

paramsマップに値を入れる前に、メソッドgetDrugId(drugNames.get(i));を呼び出します。結果と何もしない理由は何ですか? –

+0

私はメソッド名をsendengでmysldから "drugId value"を得るためにメソッドgetDrugId(drugNames.get(i)))と呼びました。私は完全なコードを投稿します – NawalSalameh

0

getDrugId(drugNames.get(i));これは値を返します。しかし、あなたは、メソッド呼び出しがあなたのコードの中にあなたを返す値をどこにも割り当てていません。また、デバッグして、getDrugId(xxx)が何を返すのかを確認することができます。

+0

メソッドをデバッグしました。私はそれをgetparams()内に置くと何も起こりません – NawalSalameh

+0

これを参照することができます:http://stackoverflow.com/questions/24285544/android-volley-http-request-custom-header/24402403#24402403とhttp: /stackoverflow.com/questions/24284651/volley-not-calling-getparams-for-standard-post-request –

関連する問題