我遇到一种情况,需要用用户外部存储目录中的图像填充图像视图;我一直在使用位图工厂解码文件,然后相应地设置图像视图位图,但是我一直遇到Null Pointer Exceptions。
String path = Environment.getExternalStorageDirectory()+ "/Pictures/test.jpg";
File imgFile = new File(path);
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView imgView = (ImageView)findViewById(R.id.imageView2);
imgView.setImageBitmap(myBitmap);
} else {
Log.d("Ciaren", "File doesn't exist");
}
我直接在OnCreate上运行它,并且图像视图应该是全屏的,但是我一辈子都无法弄清楚是什么引发了一个空对象,因为我已经逐步完成了,而且一切似乎都很好, setImageBitmap();时抛出指针方法被调用。
最佳答案
该错误在imgView.setImageBitmap(myBitmap);中引发因此imageView为null。结果,找不到您的imageView。确保资源ID R.id.imageView2是正确的。有时,日食有问题,而“项目”>“清理”也可以解决该问题。