Я динамически генерирую строку из базы данных, которая имеет то же имя изображения в drawable
папке.
Теперь я хочу установить это значение для динамического ImageView
использования setImageDrawable(R.id.StringGenerated)
.
Какие-либо предложения..
Я динамически генерирую строку из базы данных, которая имеет то же имя изображения в drawable
папке.
Теперь я хочу установить это значение для динамического ImageView
использования setImageDrawable(R.id.StringGenerated)
.
Какие-либо предложения..
Ответы:
Попробуй это,
Это вернет идентификатор чертежа, к которому вы хотите получить доступ ... тогда вы можете установить изображение в просмотре изображения, выполнив следующие
источник
или
источник
Лично я предпочитаю использовать такой метод
setImageResource()
.источник
Имена ресурсов, доступных для рисования, не хранятся в виде строк, поэтому вам придется преобразовать строку в целочисленную константу, сгенерированную во время сборки. Вы можете использовать
Resources
класс для преобразования строки в это целое число.Это преобразует вашу сгенерированную строку в целое число, которое
ImageView
может использовать для загрузки правильного изображения.В качестве альтернативы вы можете использовать идентификатор для загрузки
Drawable
вручную, а затем установить изображение, используя этот доступный для рисования вместо идентификатора ресурса.источник
Так просто, как этот ответ:
источник
Это работает, по крайней мере, в Android API 15
Вы можете использовать setImageResource (), но в документации указано, что «выполняет чтение и декодирование Bitmap в потоке пользовательского интерфейса, что может вызвать сбой задержки ... рассмотрите возможность использования setImageDrawable () или setImageBitmap ()». как заявлено Четто
источник
Все опубликованные ответы сегодня не применимы. Например, getDrawable () устарела. Вот обновленный ответ, ура!
Из документированного метода
источник
Вы можете попробовать использовать этот код:
источник
Если вы не можете получить такой объект ресурсов в классе, который не является Activity, вам необходимо добавить метод getContext () для getResources (), например
источник
imageView.setImageDrawable(getResources().getDrawable(R.drawable.my_drawable));
источник
Вы также можете использовать что-то вроде:
imageView.setImageDrawable(ActivityCompat.getDrawable(getContext(), R.drawable.generatedID));
или используя Пикассо:
Picasso.with(getContext()).load(R.drawable.generatedId).into(imageView);
источник
У меня была та же проблема, что и у вас, и я сделал следующее, чтобы ее решить:
источник
Создайте класс POJO.java и создайте «методы конструктора, получения и установки»
Затем настройте адаптеры через ресурсы для рисования изображений в CustomAdapter.java.
Затем передайте ссылки через ActivityClass.java
источник
кусок моего проекта, все работает! )
источник
btnImg.SetImageDrawable (GetDrawable (Resource.Drawable.button_round_green));
API 23 Android 6.0
источник
Файл "R" не может быть создан во время выполнения приложения. Вы можете использовать другие альтернативы, такие как использование
if-else
илиswitch-case
источник
R
снова