我目前的工作有哪些使用LazyLoader方法,所以我ahve以下类填充的列表中的应用:LazyLoader imageLoader空指针异常?
FileCache.java, ImageLoader.java, LazyAdapter.java, Utils.java
基本上图像加载fin当我填充列表,但是我想然后显示选定的单个项目视图上的选定列表项的图像时,它被选中。所以,当用户点击一个列表项时,他们将被带到一个新的活动,以查看该项目周围的所有细节。为了节省数据库调用我收集了所有需要的数据在列表中把它藏在现场,然后我用下面的方法将它传递给单个项目视图:
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的其他数据。当它使用下面的方法达到了新的活动我读数据:
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);
}
}
我认为这是事做,我也许调用图像加载器的方式,有人可以帮我这个,因为它是那么讨厌?或者有人可以告诉我一个更好的方式来获取已经缓存并显示在列表中的图像,以显示单项活动?
感谢
安置自己的logcat跟踪 – Pragnani 2013-03-17 19:33:27
调试应用程序,并检查它们具有空值。 – 2013-03-17 19:35:17