2016-06-22 6 views
-2

Ich habe versucht, JsonObjectRequest zu verwenden, aber nicht die Methode aufrufen. Das Logcat zeigt mir onClick, aber die onResponse/onErrorResponse wird nicht angezeigt. Ich würde gerne helfen. P. Es tut mir leid, wenn mein Englisch ist nicht das Beste. Einen schönen Tag noch.JsonObjectRequest-onResponse-Methode heißt nicht

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

import com.android.volley.Request; 
import com.android.volley.Response; 
import com.android.volley.VolleyError; 
import com.android.volley.toolbox.JsonObjectRequest; 

import org.json.JSONObject; 

public class MainActivity extends AppCompatActivity { 
final static String url = "https://maps.googleapis.com/maps/api/distancematrix/json?&origins=Washington,DC&destinations=New+York+City,NY"; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Log.d("app","onCreate"); 
     final TextView textView=(TextView)findViewById(R.id.textView); 

     Button button=(Button)findViewById(R.id.button); 

     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Log.d("app","onClick"); 
       JsonObjectRequest jsObjRequest = new JsonObjectRequest 

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

          @Override 
          public void onResponse(JSONObject response) { 
           Log.d("app","onRespone"); 
           textView.setText("Response"); 
          } 
         }, new Response.ErrorListener() { 

          @Override 
          public void onErrorResponse(VolleyError error) { 
           Log.d("app","Error Respone"); 

          } 
         }); 
      } 
     }); 


    } 
} 
+0

haben Sie die Erlaubnis des Internet in maniface Datei geben –

+0

ich diese Erlaubnis gegeben. ist es der richtige? – user5209063

+0

ja richtig eins. als überprüfen Sie bitte Sie logcat ist ihr irgendein Fehler- oder Warnungprotokollanzeige –

Antwort

0

Ich habe das MySingleton.getInstance (MainActivity.this) .addToRequestque (jsObjRequest) Gespräch hinzuzufügen. es sollte hier

. 
. 
. 
public void onErrorResponse(VolleyError error) { 
           Log.d("app","Error Respone"); 

          } 
         }); 
MySingleton.getInstance(MainActivity.this).addToRequestque(jsObjRequest); 

hinzufügen dies ist die MySingleton Klasse.

public class MySingleton { 
    private static MySingleton mInstance; 
    private RequestQueue requestQueue; 
    public static Context mCtx; 
    private MySingleton(Context context) 
    { 
     mCtx=context; 
     requestQueue= getRequestQueue(); 
    } 

    public RequestQueue getRequestQueue() { 
     if(requestQueue==null) { 
      requestQueue = Volley.newRequestQueue(mCtx.getApplicationContext()); 
     } 
     return requestQueue; 
    } 
    public static synchronized MySingleton getInstance(Context context) 
    { 
     if(mInstance==null) 
     { 
      mInstance=new MySingleton(context); 
     } 
     return mInstance; 
    } 
    public <T> void addToRequestque(Request<T> request) 
    { 
     requestQueue.add(request); 
    } 

}