[英]Calling a Drawable-Resource by a String
所以,讓我先解釋一下默認情況:用戶可以選擇一張圖片——這張圖片是通過一個字符串(例如“picture1”)保存在一個屬性文件中的。 現在我不想通過從屬性文件中加載字符串並通過 R.drawable.MYPICTURE 從我的 Drawables-Resources 中獲取圖像來顯示圖片。
這就是我的工作:
String iconsString[] = {"default", "icon"};
int iconsResource[] = {R.drawable.default, R.drawable.icon};
int iconResourcePosition;
int iconsStringLength = iconsString.length;
for (int i = 0; i < iconsStringLength; i++) {
if (iconsString[i] == mProperties.getProperty("icon")) {
iconResourcePosition = i;
} else {
iconResourcePosition = 0;
}
}
btn_profileIcon.setBackgroundDrawable(iconsResource[iconResourcePosition]);
但它不起作用,因為“.setBackgroundDrawable”不接受 int 值。 嗯,這就是我卡住的地方。 我可以讓“iconsResource[]”成為“Drawable”而不是“int”,但這會導致另一個問題:|
謝謝您的幫助!
嗯,你不想做這樣的事情:
btn_profileIcon.setBackgroundResource(iconsResource[iconResourcePosition]);
使用 BitmapFactory.decodeResource(…) 存儲可重用的 Bitmap,然后在 ImageView(或派生的)上使用 setImageBitmap(…)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.