我正在我的新闻应用中使用Android Universal Image loader,我目前正在努力。我使用NewsAPI来获取新闻。从网站解析JSON后。我使用自定义适配器填充列表视图,并使用通用图像加载器来获取背景中的图像。但是对于某些图片UIL doesn't support scheme(protocol) by default [null].You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))
会显示异常。
我认为在某些图片中,URI不是图书馆期望的格式。
所以我的问题是我如何填充图像的位置,该位置从我在Drawable文件夹中的图片中给出了错误。 (404图片表示图片无法下载)
我找到了我应该把代码放在哪里。
protected InputStream getStreamFromOtherSource(String imageUri, Object extra) throws IOException {
throw new UnsupportedOperationException(String.format("UIL doesn't support scheme(protocol) by default [%s]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))", new Object[]{imageUri}));
}
如果图片无法下载,我需要知道我应该在什么样的代码中放置来自可绘制文件的404图像。
答案 0 :(得分:1)
Bro ..您可以将Piccasso图片库用于Android。它可以解决您的问题。
示例代码:
if(!image.equals("default")){
Picasso.with(Profile.this).load(image).networkPolicy(NetworkPolicy.OFFLINE)
.placeholder(R.drawable.default).into(mDisplayImage, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Picasso.with(Profile.this).load(image).placeholder(R.drawable.default).into(mDisplayImage);
}
});
}
在这里,它可以替换默认(即404)在出现错误情况时找到的图片
建议您使用Easy News库从NewsAPI轻松检索新闻。在这里,我们不需要解析JSON。它通过单个方法调用来提供数据