是否可以使用ImageView.setImageURI(Uri uri)从远程服务器加载图像?
答案 0 :(得分:12)
简短的回答是否定的!它不能。
例如,如果uri包含对本地文件的引用,则可以使用ImageView.setImageURI(Uri uri)。 例如:file:///sdcard/images/thumb.png
答案 1 :(得分:7)
要从目录加载图像,首先应将其转换为Drawable
。这是一段可以提供帮助的代码:
File file = new File ("/sdcard/1.jpg");
ImageView imageView = (ImageView) findViewById(R.id.icon);
imageView.setImageDrawable(Drawable.createFromPath(file.getAbsolutePath()));
请注意,ImageView
还有另一种名为setImageURI(URI uri)
的方法。此方法用于加载外部文件;它不适用于File
类型。 例如,此代码无效:
File file = new File ("/sdcard/1.jpg");
ImageView imageView = (ImageView) findViewById(R.id.icon);
imageView.setImageURI(Uri.fromFile(file));
感谢Martin Wibbels this post。