Исключение нулевого указателя при рисовании изображения - PullRequest
0 голосов
/ 11 декабря 2010

У меня проблема с настройкой изображения ImageView для изображения, которое было получено с URL-адреса. Вот метод, используемый для превращения URL в объект Drawable:

private Drawable LoadImage(String url){
            try
            {
                InputStream is = (InputStream) new URL(url).getContent();
                Drawable d = Drawable.createFromStream(is, "src");
                return d;
            }catch (Exception e) {
                System.out.println("Exc="+e);
                return null;
            }
    }

Вот код для вызова метода:

Drawable drawable = LoadImage("www.myurl.com/image.jpg");
imageView.setImageDrawable(drawable); //here is where I think it goes wrong

Это дает мне исключение нулевого указателя, но когда я отображаю переменную drawable.toString () в текстовом представлении, я получаю что-то вроде этого:

android.graphics.drawable.BitMapDrawable@43e5bb18

Таким образом, он показывает, что он не возвращает ноль и завершается неудачно, когда пытается его нарисовать. Я что-то упустил в манифесте или что-то не так с моим кодом?

1 Ответ

1 голос
/ 11 декабря 2010

Прежде всего ... не используйте System.out на Android.Вместо этого используйте Log .

Я предполагаю, что ваша функция LoadImage возвращает ноль.

Посмотрите документацию о том, что такое ddms и logcat, и затем попытайтесь получить дополнительную информациюо том, что происходит.

...