0

я в настоящее время есть ArrayList следующим образом:Как преобразовать строку url в drawable?

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 Любые идеи? Благодаря!

ответ

1

Если у вас есть URL-адрес изображения, который необходимо загрузить сначала.

Вы не можете «преобразовать» URL в удобочитаемый.

вам нужно что-то вроде этого:

URL url = new URL("http.someimage.com/image.png"); 
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 

Затем, если вам нужно, чтобы добавить изображение в объект ImageView вы можете вызвать метод .setImageBitmap (ВМР). В противном случае есть способы извлечь объект Drawable из Bitmap , вы можете проверить это предыдущее answer. то, как только у вас есть возможность вынести, вы можете добавить его в свой аррайалист.

Надежда Я получил свой вопрос прямо

P.S .: быть уверены, что не делать этого на главном потоке, поскольку это работа в сети! использовать нить или асинтекс

+1

Я действительно смотрел на этот ответ, но не работал для меня, как и ожидалось. Можете ли вы показать мне в отношении моего кода для arraylist для нескольких изображений. –

+0

После получения растрового изображения вам необходимо преобразовать его в объект Drawable. Чтобы сделать это для двух изображений, вам просто нужно удвоить фрагмент кода, который я разместил выше. для преобразования растровых изображений в Drawables вы можете использовать [link] (https://developer.android.com/reference/android/graphics/drawable/BitmapDrawable.html) – inno15

+0

, добавив, что в asynctask помогло, спасибо! –