当前位置: 首页 > 知识库问答 >
问题:

当尝试使用ImageLoader加载本地图像时,NullPointerExctive

商运锋
2023-03-14

我正在尝试使用nostra13/ImageLoader(https://github.com/nostra13/Android-Universal-Image-Loader)在一项活动中,用户可以从媒体库中选择图像或使用相机拍摄新图像。当这个动作完成后,我有了一个完整的图片路径,格式为“/mnt/sdcard/DCIM/100ANDRO/whatever.jpg”,也就是说,一个保存在SD卡中的图像。当我尝试用ImageLoader加载此图像时,出现以下错误:

11-12 16:05:18.966:E/ImageLoader(12905):null
11-12 16:05:18.966:E/ImageLoader(12905):java。lang.NullPointerException
11-12 16:05:18.966:E/ImageLoader(12905):在com上。诺斯特拉13。universalimageloader。果心LoadAndDisplayImageTask。saveImageOnDisc(LoadAndDisplayImageTask.java:239)
11-12 16:05:18.966:E/ImageLoader(12905):在com上。诺斯特拉13。universalimageloader。果心LoadAndDisplayImageTask。tryLoadBitmap(LoadAndDisplayImageTask.java:138)
11-12 16:05:18.966:E/ImageLoader(12905):位于com。诺斯特拉13。universalimageloader。果心LoadAndDisplayImageTask。运行(LoadAndDisplayImageTask.java:72)
11-12 16:05:18.966:E/ImageLoader(12905):在java上运行。util。同时发生的遗嘱执行人$runnableapter。调用(Executors.java:444)
11-12 16:05:18.966:E/ImageLoader(12905):在java。util。同时发生的FutureTask$Sync。innerRun(FutureTask.java:306)
11-12 16:05:18.966:E/ImageLoader(12905):在java。util。同时发生的未来任务。运行(FutureTask.java:138)
11-12 16:05:18.966:E/ImageLoader(12905):在java上运行。util。同时发生的线程池执行器。runWorker(ThreadPoolExecutor.java:1088)
11-12 16:05:18.966:E/ImageLoader(12905):在java。util。同时发生的ThreadPoolExecutor$Worker。运行(ThreadPoolExecutor.java:581)
11-12 16:05:18.966:E/ImageLoader(12905):在java上运行。朗。丝线。运行(Thread.java:1019)

我不太理解这个错误,图像的路径不是空的,我试图加载图像的图像视图也不是空的。我对清单拥有必要的权限,可以加载远程图像,但不能加载本地图像。知道会发生什么吗?

提前谢谢你!

这是我的配置:

 imageLoader = ImageLoader.getInstance();
 DisplayImageOptions defaultOptions = new DisplayImageOptions.Builder()
 .cacheInMemory()
 .cacheOnDisc()
 .showImageForEmptyUri(R.drawable.image_broken)
 .build();
 ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this)
 .memoryCache(new WeakMemoryCache())
 .threadPoolSize(4)
 .defaultDisplayImageOptions(defaultOptions)
 .build();
 imageLoader.init(config);

这就是我如何尝试将图像加载到Imageview中:

ImageView m_ivAvatar = (ImageView) findViewById(R.id.pdi_image_detail);
imageLoader.displayImage(imagen.getUrl(), m_ivAvatar);

还有xml:

<RelativeLayout 
        android:id="@+id/pdi_header_detail"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView 
        android:id="@+id/pdi_image_detail"
        android:layout_width="80dp"
        android:layout_height="80dp"
        android:scaleType="fitCenter"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"/>

    <RelativeLayout 
        android:id="@+id/pdi_detail_action_icons_container"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_centerVertical="true">

        <ImageButton 
            android:id="@+id/pdi_detail_icon_share"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:scaleType="fitCenter"
            android:layout_alignParentTop="true"
            android:layout_alignParentLeft="true"/>

        <ImageButton 
            android:id="@+id/pdi_detail_icon_map"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:scaleType="fitCenter"
            android:layout_below="@id/pdi_detalle_icon_share"
            android:layout_alignParentLeft="true"/>

    </RelativeLayout>

</RelativeLayout>

共有1个答案

郭修平
2023-03-14

ImageLoader的本地文件路径应以文件开头://。例如。file:///mnt/sdcard/...

 类似资料:
  • 首先,我想说我是stackoverflow的新手,也是Android的新手,所以如果我犯了什么错误,请给我一些最好的建议,帮助我成为最好的程序员。 所以我的问题是在标题中定义的,但我可以在这里解释更多。 我正在使用ImageLoader,并且正在从URL https://s3.ap-south-1.amazonaws.com/aolmislogs/buyer/payment_proof/1.jpg

  • 我尝试在桌面应用程序中加载图像,但我不知道图像的路径 错误: 线程“AWT-EventQueue-0”java.lang.NullPointerException在javax.swing.ImageIcon处出现异常。(未知源)在Ventanas.Success处。(success.java:30)

  • 问题内容: 问题描述: 我正在创建一个滚动的带有缩略图的文章列表,该列表由我的SQLite数据库填充。通常,它运行缓慢,但速度较慢: 图像加载非常缓慢…我想使用“ 通用图像加载器 ”将图像缓存在设备上,如果您已经查看过图像(或者至少接近该图像,那会使它们看起来只是滚动到视图中) )。但是- 当您向上/向下拖动时,没有任何图像,然后在3-5秒后,图像开始弹出(就像重新下载它们一样) 我正在动态更改缩

  • 问题内容: 我正在构建一个小型React应用,并且我的本地图像无法加载。图像像负载。我以为这可能与服务器有关? 这是我的App.js index.js: 和server.js: 问题答案: 使用Webpack时,您需要对图像进行处理,以便Webpack处理它们,这可以解释为什么外部图像不加载而内部图像加载的原因,因此,您无需为每个图像使用正确的图像名称替换image-name.png。这样,Web

  • 问题内容: 我已经使用安装了React 。它安装得很好,但是我试图将图像加载到我的一个组件(,文件路径:)中,但是没有加载。这是我的代码: 如果我在变量中写入图像路径,则会出现错误: 编译失败。 ./src/Components/common/Header.js中的错误 找不到模块:/ var / www / html / wistful / src / Components / common中的

  • 问题内容: 我正在尝试从某些网址下载图片。对于某些图片,它工作正常,但对于其他图片,我会收到403错误。 例如,这个:http : //blog.zenika.com/themes/Zenika/img/zenika.gif 此图片访问不需要任何身份验证。您可以在链接上单击自己,并使用200状态代码验证该链接可用于您的浏览器。 以下代码产生一个异常:。相同的是,它们在引擎盖下使用相同的方法。 我使