Android最小位图加载器

时间:2013-09-30 10:33:06

标签: android bitmap

我需要最小的Android位图加载器。此代码抛出NullPointerException(“无法启动活动ComponentInfo”):

package com.example.testbitmap;

import android.os.Bundle;
import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.ImageView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        String photoPath = "/storage/sdcard0/Pictures/image.jpeg";
        Bitmap bitmap = BitmapFactory.decodeFile(photoPath);
        ImageView iv = (ImageView) findViewById(R.id.imageView1); 
        iv.setImageBitmap(bitmap);
        setContentView(iv);
    }

}

2 个答案:

答案 0 :(得分:1)

ImageView iv = (ImageView) findViewById(R.id.imageView1); 
iv.setImageBitmap(bitmap);
setContentView(iv);

你应该setContentView();另一个布局(因为iv应该在布局中)或创建iv而不是找到它

此外,在setContentView次调用

之前加findViewById

答案 1 :(得分:1)

您必须先在活动中设置布局,然后才能访问布局的视图。

您首先访问了视图,然后设置了错误的布局。 在onCreate()中进行如下更改:

    setContentView(R.layout.mylayout); //provide your layout file name where your ImageView resides.
    ImageView iv = (ImageView) findViewById(R.id.imageView1); 
    iv.setImageBitmap(bitmap);

OR

如果您想动态创建ImageView,然后想要将其设置为View,请执行以下操作:

  ImageView iv =new ImageView(); 
    setContentView(iv);
     iv.setImageBitmap(bitmap);