我对 Android 开发还很陌生,整天都在研究我的 ListAdapter 的问题,但找不到任何可以帮助我解决问题的答案。
我有一个从 URL 解析的 JSON NewsString,需要将缩略图加载到 ListView 中。我尝试通过 Imageloader(https://github.com/novoda/ImageLoader#directloader-utility)加载它,然后将 Bitmap 转换为 Drawable,以便我可以在我的 ListView 中使用它(之前做过)。
我在清单中有权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
并且 JsonObject 在我尝试从 Url 加载图像的 AsyncTask 中解析。
try {
String url = e.getString("imageThumb");
Bitmap bmp = new DirectLoader().download(url);
Drawable d = new BitmapDrawable(null,bmp);
Log.d("getBitmap", d.toString());
row.put("thumb", d);
}catch (Exception e5) {
Log.e("IMG", "Failed to load Thumbnail From URL: "+e5.toString());
Drawable d = MainActivity.hweb_icon;
row.put("thumb", d);
}
但我总是收到相同的错误消息:
我尝试了几个教程和其他东西,但对我来说从来没有成功。URL 是正确的,不需要任何编码。
我以前的方法是这样的:
try {
String url = e.getString("imageThumb");
InputStream in = new java.net.URL(url).openStream();
Bitmap bmp = BitmapFactory.decodeStream(in);
Drawable d = new BitmapDrawable(null,bmp);
row.put("thumb", d);
}catch (Exception e5) {
// handle it
Log.e("IMG", "Failed to load Thumbnail From URL : "+e5.toString());
}
抱歉,如果这个问题已经得到解答,但我找到了很多解决方案并尝试了它们,但没有一个能帮助我。
谢谢
普维特克
编辑: 我创建了一个新的 Testproject 并且下面的代码运行良好,所以我开始以某种方式停用每个使用可绘制对象的部分,结果证明 SimpleAdapter 无法以这种方式加载图像......它只能从资源加载图像而不是从一个网址...谢谢您的脚本britzl,它工作正常,现在我需要找到一种方法来更改我的图像适配器...