我有一个的ImageView在XML定义像如下:setImageDrawable效果而不现有内容
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"/>
我试图在代码动态地设置图像内容的基础上,一些用户操作(他们选择图片来自他们的图书馆)。我使用以下代码设置图像:
ImageView bgView = (ImageView)root.findViewById(R.id.background);
Drawable d = Drawable.createFromPath(wallpaper);
bgView.setImageDrawable(d);
调用此代码对ImageView实例没有直接影响。但是,如果我将某种图像放入XML定义中,如下所示:
它工作正常。有谁知道这个问题的原因可能是什么?我已验证图像设置代码正在UI线程上运行,并且创建的Drawable有效。问题可能与布局没有正确执行以反映添加的图像有关?
bgView.setImageDrawable(R.drawable.test_image)的作品? – Leonidos 2013-02-13 14:43:27
对不起,忘了提。即使我从/ res/drawable文件夹中放入drawable,setImageDrawable调用也不会执行任何操作,除非在XML中定义了现有的内容。 – TaylorP 2013-02-13 14:44:30
我认为更多的代码可能有助于这种情况。 setImageDrawable工作正常,无需在XML中设置drawable。我假设有些事情可能会影响你的结果,这不是发布代码的一部分。 – dymmeh 2013-02-13 14:58:00