我有一个带有xml设置图像的imageView。但是,当我尝试更改图像时,ImageView从不显示第二个图像。相反,它显示一个空白屏幕。我已尝试使用和不使用invalidate()的代码,并且没有任何更改。
ImageView image;
String imgPath=Environment.getExternalStorageDirectory()+"/Music/Evanescence - Discography - 1998-2011 (320 kbps)/Album's/2000 Origin (Limited Edition) (320 kbps)/Scans covers/06.jpg";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
image=(ImageView)findViewById(R.id.imageView1);
image.setImageBitmap(BitmapFactory.decodeFile(imgPath));
if(!new File(imgPath).exists())
Log.i("aaa","File doesnt exist");
//select image from gallery
//Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
//photoPickerIntent.setType("image/*");
//startActivityForResult(photoPickerIntent, SELECT_PHOTO);
Log.i("aaa","DONE. img path: "+imgPath);
}
答案 0 :(得分:0)
你在xml中设置android:background="someDrawable"
吗?检查并删除或将其设置为android:src="drawable"
如果setImageBitmap
无效,请尝试使用setBackground(drawable)
我知道这不是一个完美的答案,只是一个工作者......我们会找到一个明确的答案。
答案 1 :(得分:0)
我认为图像太大了。
在某些设备上,不是抛出java.lang.OutofMemoryError
,而是返回空位图。
尝试使用较小的图片运行代码。如果可行,您必须在Android中学习how to display bitmaps properly。
(不管怎样,你必须)