有关RecyclerView+ImageLoader图片加载的小问题

2023-12-10 16:48

本文主要是介绍有关RecyclerView+ImageLoader图片加载的小问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前代码已经有如下设置
`
public ShopCardAdpter2(Context context,String[] imgUrls){
this.context = context;
getOption();
this.imgUrls = new ArrayList();
this.imgUrls.addAll(Arrays.asList(imgUrls));
// 创建缓存目录
File file = new File(Environment.getExternalStorageDirectory(), “tempimage”);
if (!file.exists()) {
file.mkdir();
}
ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(context);

    // 设置内存缓存大小builder.memoryCacheSize(2 * 1024);// 指定线程池的大小,默认就是3builder.threadPoolSize(3);// 指定线程优先级builder.threadPriority(Thread.NORM_PRIORITY - 2);// 指定缓存路径builder.diskCache(new UnlimitedDiscCache(file));// 指定最多缓存的文件个数builder.diskCacheFileCount(100);//硬盘缓存50MBbuilder.diskCacheSize(50 * 1024 * 1024);//将保存的时候的URI名称用MD5加密builder.diskCacheFileNameGenerator(new Md5FileNameGenerator());builder.defaultDisplayImageOptions(options);config = builder.build();loader = ImageLoader.getInstance();loader.init(config);}

private void getOption() {
DisplayImageOptions.Builder opt_builder = new DisplayImageOptions.Builder();

    //设置图片在下载期间显示的图片opt_builder.showImageOnLoading(R.mipmap.ic_launcher);//设置图片Uri为空或是错误的时候显示的图片opt_builder.showImageForEmptyUri(R.mipmap.ic_launcher);//设置图片加载/解码过程中错误时候显示的图片opt_builder.showImageOnFail(R.mipmap.ic_launcher);//设置下载的图片是否缓存在内存中opt_builder.cacheInMemory(true);//设置下载的图片是否缓存在SD卡中opt_builder.cacheOnDisk(true);//是否考虑JPEG图像EXIF参数(旋转,翻转)opt_builder.considerExifParams(true);options = opt_builder.build();
}`

但是在加载的过程中并没有显示如下图片R.mipmap.ic_launcher
滑动过程中也会出现图片错位显示的问题,需要一会才会正常。

经过在网上查找资料得知需要在onBindViewHolder中做如下处理:
具体出处http://www.zhimengzhe.com/Androidkaifa/2455.html;

   @Overridepublic void onBindViewHolder(MyViewHolder holder, int position) {// 显示图片(之前的做法)// loader.displayImage(imgUrls.get(position), holder.img_pic);//修改后的做法holder.img_pic.setScaleType(ImageView.ScaleType.CENTER_CROP);if(!imgUrls.get(position).equals(holder.img_pic.getTag())) {holder.img_pic.setTag(imgUrls);loader.displayImage(imgUrls.get(position), holder.img_pic,options, null);}

如有不足之处,恳请指正

这篇关于有关RecyclerView+ImageLoader图片加载的小问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/477687

相关文章

线上Java OOM问题定位与解决方案超详细解析

《线上JavaOOM问题定位与解决方案超详细解析》OOM是JVM抛出的错误,表示内存分配失败,:本文主要介绍线上JavaOOM问题定位与解决方案的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录一、OOM问题核心认知1.1 OOM定义与技术定位1.2 OOM常见类型及技术特征二、OOM问题定位工具

Java实现将HTML文件与字符串转换为图片

《Java实现将HTML文件与字符串转换为图片》在Java开发中,我们经常会遇到将HTML内容转换为图片的需求,本文小编就来和大家详细讲讲如何使用FreeSpire.DocforJava库来实现这一功... 目录前言核心实现:html 转图片完整代码场景 1:转换本地 HTML 文件为图片场景 2:转换 H

Vue3绑定props默认值问题

《Vue3绑定props默认值问题》使用Vue3的defineProps配合TypeScript的interface定义props类型,并通过withDefaults设置默认值,使组件能安全访问传入的... 目录前言步骤步骤1:使用 defineProps 定义 Props步骤2:设置默认值总结前言使用T

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

解决升级JDK报错:module java.base does not“opens java.lang.reflect“to unnamed module问题

《解决升级JDK报错:modulejava.basedoesnot“opensjava.lang.reflect“tounnamedmodule问题》SpringBoot启动错误源于Jav... 目录问题描述原因分析解决方案总结问题描述启动sprintboot时报以下错误原因分析编程异js常是由Ja

基于C#实现PDF转图片的详细教程

《基于C#实现PDF转图片的详细教程》在数字化办公场景中,PDF文件的可视化处理需求日益增长,本文将围绕Spire.PDFfor.NET这一工具,详解如何通过C#将PDF转换为JPG、PNG等主流图片... 目录引言一、组件部署二、快速入门:PDF 转图片的核心 C# 代码三、分辨率设置 - 清晰度的决定因

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

MySQL 表空却 ibd 文件过大的问题及解决方法

《MySQL表空却ibd文件过大的问题及解决方法》本文给大家介绍MySQL表空却ibd文件过大的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录一、问题背景:表空却 “吃满” 磁盘的怪事二、问题复现:一步步编程还原异常场景1. 准备测试源表与数据

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec