将位图设置为ImageView时出错

时间:2011-07-19 07:37:11

标签: android bitmap

我在android中有一个应用程序,我从facebook页面返回一些图片。我将这些图片作为InputStream返回,然后我使用BitmapFactory解码它们:

BitmapFactory.decodeStream(content);

之后,我尝试将此位图设置为ImageView,但我强行关闭。这就是我的方法:

 public Bitmap doInBackground(String...arg0)
        {
            URL profilePicUrl=null;
            int nr=0;
            Bitmap profilePicBitmap=null;
    final String imageURL="http://graph.facebook.com/"+arg0[0]+"/picture?type=small";
                 try{

profilePicBitmap = BitmapFactory.decodeStream((InputStream)new URL(imageURL).getContent());
            System.out.println("Returnam poza numarul:"+profilePicBitmap);

            }
            catch(Exception e)
            {
                e.printStackTrace();
            }
            return profilePicBitmap;
                    }

public void onPostExecute(Bitmap result){
        ImageView imageView_1=null;
        Log.d("We are:","Loaded the pictures");
        imageView_1.setImageBitmap(result);

    }

我使用AsyncTask线程从URL返回图片。但是我在此行收到错误:

imageView_1.setImageBitmap(result);

当我尝试在此处显示解码InputStream时返回的结果时:

profilePicBitmap = BitmapFactory.decodeStream((InputStream)new URL(imageURL).getContent());
                System.out.println("Returnam poza numarul:"+profilePicBitmap);

这就是我得到的:

android.graphics.Bitmap@44e38ee0
android.graphics.Bitmap@44e22010
android.graphics.Bitmap@44dfbe68
android.graphics.Bitmap@44de26f8
android.graphics.Bitmap@44daa718
android.graphics.Bitmap@44dc30a0
android.graphics.Bitmap@44daa080
android.graphics.Bitmap@44de1680
android.graphics.Bitmap@44df7140
android.graphics.Bitmap@44dae9d8
android.graphics.Bitmap@44e5b008
android.graphics.Bitmap@44e0ee20

这就是我的logcat的样子:

java.lang.NullPointerException
at com.SplashScreen.InviteFriends$Task.onPostExecute(InviteFriends.java:214)
at com.SplashScreen.InviteFriends$Task.onPostExecute(InviteFriends.java:1)
at android.os.AsyncTask.finish(AsyncTask.java:417)
at android.os.AsyncTask.access$300(AsyncTask.java:127)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4363)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
at dalvik.system.NativeStart.main(Native Method)

请帮助我,因为我不知道有什么问题!

2 个答案:

答案 0 :(得分:2)

onPostExecute更改

ImageView imageView_1=null;

ImageView imageView_1= new ImageView(ClassName.this);

答案 1 :(得分:1)

StackOverflow中有很多“如何从网址下载图片”的问题。

请参阅此download image您可以从此问题解答中获得解决方案