Java 从外部存储器读取图像文件并将其放置在ImageView中
在这种情况下,我需要使用来自用户外部存储目录的图像填充图像视图;我一直在使用位图工厂解码一个文件,然后相应地设置图像视图位图,但我一直遇到空指针异常Java 从外部存储器读取图像文件并将其放置在ImageView中,java,android,bitmap,android-imageview,android-external-storage,Java,Android,Bitmap,Android Imageview,Android External Storage,在这种情况下,我需要使用来自用户外部存储目录的图像填充图像视图;我一直在使用位图工厂解码一个文件,然后相应地设置图像视图位图,但我一直遇到空指针异常 String path = Environment.getExternalStorageDirectory()+ "/Pictures/test.jpg"; File imgFile = new File(path); if(imgFile.exists()){ Bitmap myBitmap = BitmapFactor
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为空。因此,找不到您的imageView。确保资源id R.id.imageView2正确。有时eclipse会出现问题,Project>Clean也可以解决这一问题。是否使用setContnetView()设置视图;如果在调用setImageBitmap()方法时抛出,则ImageView为null。确保imageView2是正确的Id。有时一个项目>清理工作。你的imageview对象是空的,我想。@RobertHahn ahhhhh图像视图的Id是错误的,人为错误在其峰值,谢谢你指出,你想把它作为一个答案,这样我就可以将其标记为接受吗?谢谢。