Вызов Drawable-ресурса строкой - PullRequest
1 голос
/ 30 июня 2011

Итак, позвольте мне сначала объяснить ситуацию по умолчанию: пользователь может выбрать изображение - и это изображение сохраняется в виде строки (например, «picture1») в файле свойств. Теперь я не хочу отображать картинку, загрузив строку из файла свойств и получив изображение из моих ресурсов Drawables с помощью R.drawable.MYPICTURE.

это то, что я разработал:

    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», но это вызвало бы другую проблему: |

Спасибо за помощь!

Ответы [ 2 ]

3 голосов
/ 30 июня 2011

мммм, разве вы не хотите делать что-то вроде этого:

btn_profileIcon.setBackgroundResource(iconsResource[iconResourcePosition]);
0 голосов
/ 30 июня 2011

Используйте BitmapFactory.decodeResource (…), чтобы сохранить повторно используемое растровое изображение, а затем используйте setImageBitmap (…) в вашем ImageView (или производном).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...