gpt4 book ai didi

android - LazyLoader imageLoader空指针异常?

转载 作者:行者123 更新时间:2023-11-29 21:47:12 28 4
gpt4 key购买 nike

我目前正在开发一个应用程序,它有一个使用 LazyLoader 方法填充的列表,所以我有以下类:

文件缓存.java,ImageLoader.java,LazyAdapter.java,工具.java

基本上是在我填充列表时加载图像,但是我想在选中时在单个项目 View 上显示所选列表项的图像。因此,当用户单击列表项时,他们将被带到一个新 Activity 以查看该项目的所有详细信息。为了保存数据库调用,我在列表中收集了所有需要的数据并将其隐藏在字段中,然后使用以下方法将其传递给单项 View :

String ImageURL = ((TextView) view.findViewById(R.id.ImageURL)).getText().toString();

Intent i = new Intent(getApplicationContext(), VenueItem.class);

i.putExtra("ImageURL", ImageURL);

startActivity(i);

然后,这会将该 URL 和我要发送到新 Activity 的一系列其他数据传递给它。当它到达新 Activity 时,我正在使用以下方法读取该数据:

String image_url;

Intent i = getIntent();

image_url = i.getStringExtra("ImageURL");

ImageView thumb_image=(ImageView) findViewById(R.id.itemImage); // thumb image

imageLoader.DisplayImage(image_url, thumb_image); //This is the line it fails on

正如您所看到的,我已经突出显示了上面似乎失败的行,并且我得到了一个 nullpointerexception 错误,即使我已经调试了代码并且当它到达该行时,它传递的 2 个参数都存在。图片加载器的代码如下:

final int stub_id = R.drawable.noimage;
public void DisplayImage(String url, ImageView imageView)
{
imageViews.put(imageView, url);
Bitmap bitmap=memoryCache.get(url);
if(bitmap!=null)
imageView.setImageBitmap(bitmap);
else
{
queuePhoto(url, imageView);
imageView.setImageResource(stub_id);
}
}

我认为这可能与我调用图像加载器的方式有关,有人可以帮我解决这个问题吗?或者有人可以告诉我一个更好的方法来让图像已经缓存并显示在列表中以显示在单个项目 Activity 上吗?

谢谢

最佳答案

这听起来可能很愚蠢,但你真的实例化过 imageLoader 吗?因为你没有包含它的代码 ;)

似乎 imageLoader 变量可能是 null,而不是您传递给它的 image_url 和 thumb_image。

努力奔跑

imageLoader.DisplayImage(image_url, thumb_image);

如果 imageLoader 为空,将导致 NullPointerException,例如你已经声明了它但没有实例化它:

ImageLoader imageLoader;

需要什么

ImageLoader imageLoader = new ImageLoader();

关于android - LazyLoader imageLoader空指针异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15465192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com