1

我正在使用 Novoda ImageLoader (https://github.com/novoda/ImageLoader),当我在 CursorAdapter 中使用这个加载器时,一切都很好。但是当我想在没有任何适配器的情况下使用一个 ImageView 的 Activity 时,我会为不同的 URL 获得相同的图像。

//onCreate in Activity   
imageManager = MyApplication.getImageLoader(); 
imageTagFactory = new ImageTagFactory(this, R.drawable.ic_refresh_inverse);
imgView = (ImageView) findViewById(R.id.imgIV);


//fillData - when I finish loading img URL from DB with CursorLoader
imgView.setTag(imageTagFactory.build(imgURL));
imageManager.getLoader().load(imgView);

//code in onCreate Application
LoaderSettings settings = new SettingsBuilder().withDisconnectOnEveryCall(true).withCacheManager(new LruBitmapCache(this)).build(this);
imageManager = new ImageManager(this, settings);

当我查看缓存目录时,加载了不同的图像,但未使用。知道哪里可能出现问题或如何正确使用此库来仅加载一个图像吗?
谢谢!

4

1 回答 1

1

问题可能类似于此https://github.com/novoda/ImageLoader/issues/41 你在 url 中有查询参数吗?如果是这样,请尝试在设置生成器上添加此 .withEnableQueryInHashGeneration(false)

这是一个反转参数 enableQueryInHashGeneration 背后的逻辑的错误。此参数应启用/禁用(默认情况下应启用)生成图像哈希名称时 url 的查询部分。当您在 url 中有会话令牌作为参数并且您不想一遍又一遍地下载相同的图像时,这很有用。

问题会在1.5.6版本解决

于 2012-06-25T22:01:26.260 回答