我目前有一个arraylist如下:
private void loadImages() {
images = new ArrayList<>();
images.add(getResources().getDrawable(R.drawable.imag1));
images.add(getResources().getDrawable(R.drawable.imag2));
images.add(getResources().getDrawable(R.drawable.imag3));
}
我希望能够将url转换为以下可绘制对象:
drawable1 = "http.someimage.com/image.png"
drawable2 = "http.someimage.com/newimage.png"
其次是
private void loadImages() {
images = new ArrayList<>();
images.add(getResources().getDrawable(drawable1));
images.add(getResources().getDrawable(drawable2));
...etc }
有什么简单的方法可以解决此问题吗?我绝对想坚持使用drawables,但是我找不到任何将url转换为drawable的方法吗?谢谢!
如果您有图片的URL,则需要先下载它。
您无法将网址“转换”为可绘制的内容。
您需要这样的东西:
URL url = new URL("http.someimage.com/image.png");
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
然后,如果需要将图像添加到ImageView对象中,则可以调用.setImageBitmap(bmp)方法。否则,有一些方法可以从位图中提取Drawable对象,您可以检查以前的答案。然后,一旦有了可绘制对象,就可以将其添加到数组列表中。
希望我能正确回答你的问题
PS:请确保不要在主线程上执行此操作,因为它是网络操作!使用线程或异步任务
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句