[英]Image URL using Jsoup is not getting attached to NetworkImageView
在Json請求中,我正在獲取特定文章的圖像URL,但NetWorkImageView
未獲取該圖像URL。 這是我的要求:
JsonObjectRequest objectRequest = new JsonObjectRequest(url,null,new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
hidePDialog();
JSONObject rss = response.getJSONObject("rss");
JSONObject channel = rss.getJSONObject("channel");
JSONArray item = channel.getJSONArray("item");
Log.d(TAG, item.toString());
for (int i = 0; i < item.length(); i++) {
JSONObject obj = item.getJSONObject(i);
Movie movie = new Movie();
movie.setTitle(obj.getString("title"));
//Image Url
String imageLink = obj.getString("description");
Document doc = Jsoup.parse(imageLink);
Element link = doc.select("img").first();
//System.out.println(link.absUrl("src"));
//ERROR comes with line below.
movie.setThumbnailUrl(link.absUrl("src"));
movieList.add(movie);
}
} catch (JSONException e) {
e.printStackTrace();
}
adapter.notifyDataSetChanged();
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError volleyError) {
VolleyLog.d(TAG, "Error: " + volleyError.getMessage());
hidePDialog();
}
});
AppController.getInstance().addToRequestQueue(objectRequest);
return rootView;
}
它看起來很完整,但我在這里仍然犯了愚蠢的錯誤。 變得愚蠢的NullPointerException
。 我現在嘗試了一段時間,但現在停留了一段時間。 錯誤很小,但無法找到。
如果您需要更多代碼段,請告訴我。 非常感謝您的幫助。 對不起,愚蠢的問題。
編輯1 Logcat
如果您將第76行標記為正確-您的問題的答案是該鏈接為null,因為它不存在於json字符串中。
代替
Element link = doc.select("img").first();
movie.setThumbnailUrl(link.absUrl("src"));
我應該使用:
Elements link = doc.select("img");
if(link.attr("src")!= null)
{
movie.setThumbnailUrl(link.attr("src"));
}
else {
movie.setThumbnailUrl(null);
}
鏈接不為空。 我的方法是錯誤的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.