我在 XML 中有一个 ImageView 定义,如下所示:
<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 定义中,例如:
<ImageView
android:id="@+id/background"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@drawable/test_image"/>
它工作正常。有谁知道问题的原因可能是什么?我已经验证了图像设置代码在 UI 线程上运行,并且创建的 Drawable 是有效的。问题感觉可能与未正确执行布局以反映添加的图像有关?