簡體   English   中英

Recyclerview NetworkImageView(凌空)沒有顯示出來

[英]Recyclerview NetworkImageView (volley) doesn't show up

我使用RecyclerView和volley的NetworkImageView在下載后渲染圖像。 視圖由作者圖像,一些文本字段和圖片組成。 以下是填充視圖的代碼段:

// vh is the viewholder    
vh.picture.setDefaultImageResId(R.drawable.default_image);
vh.picture.setImageUrl(post.getImageUrl(), mImageLoader);

我面臨的問題是滾動時,說出20張圖像,大多數是〜18出現。 我從日志中看到所有圖像都已下載並位於緩存中,但有些圖像未呈現。 甚至不會為這些視圖顯示默認圖像。 如果視圖無效(再次向上和向下滾動),則會顯示圖像。

有趣的是,對於沒有顯示圖片的視圖,即使我可以在其上方的帖子中看到同一作者圖片,也不會顯示作者圖片。 就像整個視圖顯示圖像一樣有問題。

下載圖像后,有沒有辦法在NetworkImageView手動調用invalidate()postInvalidate() 還是其他任何想法?

這也是在這里問的。 我終於通過不使用NetworkImageView解決了這個問題。 我開始使用regualar ImageView,仍然通過自定義圖像請求和onResponse()應用圖像在視圖上獲取圖像。 這看起來效果很好。

    public void getImage(String url, final ImageView v) {
    if (TextUtils.isEmpty(url)) return; // don't fetch a null url

    ImageRequest imageRequest = new ImageRequest(url, new Response.Listener<Bitmap>() {
        @Override
        public void onResponse(Bitmap response) {
            v.setImageBitmap(response);
        }
    }, 0, 0, null, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Log.e(TAG, "Error- " + error.getMessage());
        }
    });

    mRequestQueue.addToRequestQueue(imageRequest);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM