代码如下所示,这给了我一个onResponse方法的错误:
RequestQueue queue = Volley.newRequestQueue(this);
// Url for the API call
String url = "https://meme-api.herokuapp.com/gimme";
// Request a string response from the provided URL.
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
String url = response.toString();
ImageView imageView = (ImageView) findViewById(R.id.MemeImageView);
Glide.with(this).load(url).into(imageView);
}
}, new Response.ErrorListener()发布于 2021-03-18 02:16:08
您可以在不将其保存到新字符串的情况下执行此操作。只需先检查响应是否为空,以及响应是否包含"url“属性,然后在imageview中直接使用response.getString("url")。
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
if(response!=null && response.getString("url")!null){
Glide.with(this).load(response.getString("url")).into(findViewById(R.id.MemeImageView));
}
}
}, new Response.ErrorListener() ....发布于 2021-03-18 01:05:36
您应该首先检查请求的响应。
这就是它:

您正在将整个响应转换为一个字符串,并在Glide中将其作为URL传递。但您只需要此响应中的图像URL。
所以你的图片URL应该是这样的:
String url = response.getString("url");https://stackoverflow.com/questions/66677181
复制相似问题