为什么这个ImageView没有显示我的图像?

时间:2011-01-29 10:47:19

标签: android imageview

我的布局上有imageview

<ImageView
    android:id="@+id/profileImage"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBaseline="@id/profileImageLabel"
    android:layout_alignParentRight="true"
    android:maxWidth="90px"
    android:maxHeight="90px"/> 

我在onCreate()上动态地给它了图像的来源:

Bitmap bm = BitmapFactory.decodeFile("c:/logo.png");

        profileImage.setImageBitmap(bm);
        profileImage.invalidate();

但是当我测试我的应用时,它没有显示图像,只显示黑屏。

为什么imageview不显示而只显示黑屏?

2 个答案:

答案 0 :(得分:2)

好吧,它告诉我你的文件路径是错误的。你在模拟器中测试这个吗?模拟器无法访问您的硬盘或其他任何不属于模拟器的东西。 你应该做的是将你的图像添加到eclipse中的drawable文件夹中(如果那就是你正在使用的)然后通过写入来加载文件:

Resources r = this.getResources();
Bitmap bm = BitmapFactory.decodeResource(r, R.drawable.logo);

答案 1 :(得分:0)

你可以使用像这样的块

File iconFile = new File("/path/to/image.png");
FileInputStream fis = new FileInputStream(iconFile);
Bitmap bi = BitmapFactory.decodeStream(fis);
fis.close();

获取“磁盘上”文件的位图。 /path/to/image.png是存储图像的路径。