android - 尝试使用 glide 和 volley 从 URL 获取图像,得到错误 onResponse 方法
问题描述
代码如下,这给了我一个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()
解决方案
您可以在不将其保存到新字符串的情况下执行此操作。只需首先检查响应是否为空,以及响应是否包含“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() ....
推荐阅读
- c++ - 运算符重载构造异常消息
- java - java.lang.NoClassDefFoundError:无法初始化类 sun.text.normalizer.NormalizerImpl
- c++ - 继承类特定的内存(取消)分配方法是否会使类成为非 POD?
- anime.js - 如何在anime.js中定位$(this)
- mongodb - 使用 ngrok 隧道化 mongodb
- javascript - 附加html代码后如何获取就绪事件
- html - spring boot 中的 href 问题
- reactjs - Connected-React-Route 更改仍然导致 typeError 出现
- extjs6.5.1 - 如何获取应用程序的版本
- html - 不同分辨率的视频和视频预览图(海报)