Android LazyLoader imageLoader空指针异常?

Android LazyLoader imageLoader空指针异常?,android,nullpointerexception,lazy-loading,image-loading,Android,Nullpointerexception,Lazy Loading,Image Loading,我目前正在开发一个应用程序,它有一个使用LazyLoader方法填充的列表,因此我拥有以下类: FileCache.java, ImageLoader.java, java, Utils.java 基本上,当我填充列表时会加载图像,但是我希望在选中该列表项时,在单个项目视图上显示该列表项的图像。因此,当用户单击一个列表项时,他们将被带到一个新的活动,以查看该项的所有详细信息。为了保存数据库调用,我在列表中收集了所有需要的数据,并将其隐藏在字段中,然后使用以下方法将其传递到单项目视图: Strin

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

FileCache.java, ImageLoader.java, java, Utils.java

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

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

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

i.putExtra("ImageURL", ImageURL);

startActivity(i);
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
然后,它将URL和我要发送给新活动的一组其他数据传递给新活动。当它到达新活动时,我使用以下方法读取数据:

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

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

i.putExtra("ImageURL", ImageURL);

startActivity(i);
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错误,即使我调试了代码,当它到达该行时,它传递的两个参数都存在。图像加载程序的代码如下所示:

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);
        }
    }
我想这与我调用图像加载器的方式有关,也许,有人能帮我解决这个问题吗,因为它太烦人了??或者有人能告诉我一种更好的方法来获取已经缓存并显示在列表中的图像,以便在单个项目活动中显示吗


谢谢

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

似乎imageLoader变量是空的,而不是传递给它的image\uURL和thumb\u图像

试图逃跑

imageLoader.DisplayImage(image_url, thumb_image);
如果imageLoader为null,则会导致NullPointerException,例如,您已声明但未实例化它:

ImageLoader imageLoader;
那就需要

ImageLoader imageLoader = new ImageLoader();

将你的logcat traceDebug发布到应用程序中,并检查哪个应用程序的值为空。非常感谢你的帮助,我似乎在代码中的某个地方迷失了方向,忘记了这么做。哈哈:)@Ellis帮了我很多忙。非常感谢:)