我需要最小的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);
}
}
答案 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);