我的Android应用程序有五个名称可供选择。用户可以单击其中一个,然后将打开一个新活动以显示该人的照片(从URL中获取)。所有五个图像实际上是相同的:.jpg,大致相同的尺寸等。前两个图像加载精细,第三个和第四个图像完全不显示,第五个图像也可以正常工作。
我打印并测试了未显示图片的网址,因此我知道这不是问题。我在日志中看到SkImageDecoder::Factory returned null
。搜索SO,我找到了在输入流上调用reset()
来解决此问题的建议。但是,我尝试了这个,我的应用程序崩溃了。
我已经坚持了几个小时这个bug,所以我们非常感谢任何建议。我用来获取图像的代码如下。此外,不确定它是否值得一提,但在不同的模拟器和我的平板电脑上一直缺少破碎的图像。
class ImageLoadTask extends AsyncTask<Void, Void, Bitmap> {
private String url;
private ImageView imageView;
public ImageLoadTask(String url, ImageView imageView) {
this.url = url;
this.imageView = imageView;
}
@Override
protected Bitmap doInBackground(Void... params) {
try {
URL urlConnection = new URL(url);
HttpURLConnection connection = (HttpURLConnection) urlConnection
.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
imageView.setImageBitmap(result);
}
}
答案 0 :(得分:0)
请参阅本教程关于主题列表视图(如facebook新闻源),它包含在listview项目中显示来自Web的图像的部分..它是一个很棒的教程,它将帮助您.. http://www.androidhive.info/2014/06/android-facebook-like-custom-listview-feed-using-volley/ 您可以下载和编辑源代码