динамически установить источник ImageView для Android

У меня на сцене есть ImageView, который я хотел бы установить в качестве источника динамически на основе пользовательского ввода.

Скажем, у меня в папке для рисования есть 4 изображения: aaa.png, bbb.png , ccc.png и ddd.png.

Когда мое приложение загружается, я устанавливаю изображение на: aaa.png

myImageView.setImageResource(R.drawable.aaa);

, теперь у меня есть EditText, где пользователь может ввести bbb, и я хочу изменить источник изображения на быть bbb.png, или пользователь вводит ccc, меняет источник на ccc.png и т. д.

Как я могу динамически установить параметр в setImageResource ()? Я попытался поиграть с Drawable объектом безрезультатно ...

9
задан Kyle 18 August 2010 в 20:45
поделиться

2 ответа

Если вы хотите разрешить ввод открытого текста, вам придется либо использовать необработанные ресурсы , чтобы получать их по имени строки (см. Сноску на этой странице), либо использовать магические Отражение Java для получения поля класса R по имени. В качестве альтернативы вы можете сохранить HashMap строк для целочисленных значений R.drawable и искать его, но тогда вам придется поддерживать эту хэш-карту.

2
ответ дан 5 December 2019 в 02:06
поделиться

Если вы хотите, чтобы он отображал только изображения, которые вы загрузили в свои drawables, вы можете использовать Spinner, где id для элемента установлен как ресурс для Drawable. Это будет проще с вашей стороны и удобнее для пользователя.

0
ответ дан 5 December 2019 в 02:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: