我有一個的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