RecyclerView图片加载顺序问题

请叫我果爸 2016-03-21 03:40:02
我能实现图片加载了,但是只会从上向下加载,不会先加载当前页面。
代码贴上:
public class GalleryAdapter extends RecyclerView.Adapter<GalleryAdapter.ViewHolder> {

private Context mContext;
private LayoutInflater mInflater;
private List<String> mImageList;

public GalleryAdapter(Context context,List<String> list) {
Log.e("GalleryAdapter",list.toString());
this.mContext = context;
this.mImageList = list;
this.mInflater = LayoutInflater.from(context);
}

public static class ViewHolder extends RecyclerView.ViewHolder{

public ViewHolder(View itemView) {
super(itemView);
}
ImageView mImageView;

}

@Override
public GalleryAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = mInflater.inflate(R.layout.productdetail_list_item,parent,false);
ViewHolder viewHolder = new ViewHolder(view);
viewHolder.mImageView = (ImageView) view.findViewById(R.id.productdetail_list_image);

return viewHolder;
}

@Override
public void onBindViewHolder(GalleryAdapter.ViewHolder holder, int position) {
String url = mImageList.get(position);
if (!url.startsWith(Constants.HOST))
url = Constants.HOST + url;

RequestQueue mQueue = Volley.newRequestQueue(mContext);
ImageLoader imageLoader = new ImageLoader(mQueue, BitmapCache.getBitMapCache());
ImageLoader.ImageListener listener = ImageLoader.getImageListener(holder.mImageView,R.drawable.detail_web_bg,R.drawable.detail_web_bg);
imageLoader.get(url,listener);
}

@Override
public int getItemCount() {
return mImageList.size();
}
}

求大神帮忙!
...全文
317 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
double2436 2016-04-13
  • 打赏
  • 举报
回复
楼主,我也是用Glide加载图片到瀑布流类型的RecyclerView中,item布局中只有一个ImageView,宽度是match_parent,高度是wrap_content。但是发现每次加载完成后,滑动列表的话,item会重新排列,有些图片就会变小,填不满,看起来很乱,不知道楼主是怎么解决的?
请叫我果爸 2016-03-22
  • 打赏
  • 举报
回复
引用 1 楼 wei220000 的回复:
除非你新建一个List<Bitmap>在adapter中占位,然后通过下拉刷新或者全部加载的办法,异步加载图片,加载完后判断当前页面的postion,再统一更新,用adapter的notifyItemChange,这样其实不好,容易造成oom。要完美实现你要的功能太复杂了,推荐你试试fresco。
谢谢,我用了Glide
wei220000 2016-03-21
  • 打赏
  • 举报
回复
除非你新建一个List<Bitmap>在adapter中占位,然后通过下拉刷新或者全部加载的办法,异步加载图片,加载完后判断当前页面的postion,再统一更新,用adapter的notifyItemChange,这样其实不好,容易造成oom。要完美实现你要的功能太复杂了,推荐你试试fresco。

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧