使用Jsoup的图像URL未附加到NetworkImageView

时间:2015-05-18 18:39:52

标签: java android jsoup android-volley

在Json请求中,我收到了特定文章的图片网址,但NetWorkImageView没有获得该图片网址。 这是我的要求:

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的Logcat

2 个答案:

答案 0 :(得分:0)

如果您将第76行标记为右 - 您的问题的答案是该链接为空,因为它在您的json字符串中不存在。

答案 1 :(得分:0)

而不是

               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);
                    }

链接不是null。我的做法是错误的。