在这种情况下,我需要使用用户外部存储目录中的图像填充 ImageView ;我一直在使用位图工厂解码文件,然后相应地设置 ImageView 位图,但我一直遇到空指针异常。
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 中运行它, ImageView 应该是全屏的,但我终究无法弄清楚是什么抛出了一个空对象,因为我已经逐步完成并且一切看起来都很好,当 setImageBitmap(); 时抛出空指针;方法被调用。
最佳答案
错误是在imgView.setImageBitmap(myBitmap)中抛出的;因此 imageView 为空。结果找不到您的 imageView。确保资源 ID R.id.imageView2 正确。有时 eclipse 会出现问题,Project > Clean 也可以解决这个问题。
关于java - 从外部存储读取图像文件并放置在 ImageView 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20033598/