Конструктор Android BitmapDrawable Undefined - PullRequest
0 голосов
/ 05 февраля 2011

Я пытаюсь загрузить изображение из Интернета. Код, который у меня есть, выглядит следующим образом:


Resources res = getResources();

InputStream is = (InputStream) new URL(url).getContent();

BitmapDrawable bitmapDrawable = new BitmapDrawable(res, is); 
// Error: The constructor BitmapDrawable(Resources, InputStream) is undefined

Последняя строка выдает ошибку, как будто конструктор не существует. Однако в документации сказано следующее:


BitmapDrawable (InputStream есть) Этот конструктор устарел. Используйте BitmapDrawable (Resources, java.io.InputStream), чтобы убедиться, что объект рисования правильно установил целевую плотность.

BitmapDrawable (Ресурсы res, InputStream есть) Создайте отрисовку путем декодирования растрового изображения из заданного входного потока.


Итак, я в растерянности. Либо это должно сработать, и я что-то настроил неправильно, либо мне нужно найти другой способ загрузки изображения из Интернета. Кто-нибудь знает, почему этот код не компилируется или не предлагает лучший способ загрузить изображение (или оба)?

1 Ответ

1 голос
/ 05 февраля 2011

Этот конструктор был добавлен начиная с уровня API 5, так что, я думаю, вы используете более старый уровень API, поэтому вы получаете эту ошибку.Попробуйте использовать Android 2.1 (эклер) или новее или не используйте этот конструктор.

Я только что попробовал это, и это сработало:

InputStream is = (InputStream) new URL(url).getContent();
BitmapDrawable bitmapDrawable = new BitmapDrawable(is);
...