所以,让我先解释一下默认情况:用户可以选择一张图片 - 这张图片是通过属性文件中的字符串(例如“picture1”)保存的。现在我不想通过从属性文件中加载String并通过R.drawable.MYPICTURE从我的Drawables-Resources中获取Image来显示图片。
这就是我的成果:
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”,但这会引起另一个问题:|
感谢您的帮助!
答案 0 :(得分:3)
毫米你不想做这样的事情:
btn_profileIcon.setBackgroundResource(iconsResource[iconResourcePosition]);
答案 1 :(得分:0)
使用BitmapFactory.decodeResource(...)存储可重复使用的Bitmap,然后在ImageView(或派生)上使用setImageBitmap(...)。