簡體   English   中英

通過字符串調用 Drawable-Resource

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM