0

我有一个带有 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);
}
4

2 回答 2

0

你是android:background="someDrawable"在xml中设置的吗?检查并删除或将其设置为android:src="drawable"

如果setImageBitmap不起作用,请尝试使用setBackground(drawable)

我知道这不是完美的答案,而只是一个工作人员。我们会找到一个明确的答案。

于 2013-07-31T18:17:48.687 回答
0

我觉得图片太大了。

在某些设备上,不是java.lang.OutofMemoryError被抛出,而是返回一个空位图。

尝试使用较小的图像运行您的代码。如果可行,您必须学习如何在 Android 中正确显示位图。

(不管怎样,你必须)

于 2013-07-31T18:23:55.870 回答