Estou gerando uma string dinamicamente do banco de dados que tem o mesmo nome de imagem na drawable
pasta.
Agora eu quero definir esse valor para ImageView
usar setImageDrawable(R.id.StringGenerated)
dinamicamente.
Alguma sugestão..
android
android-widget
Uma corrida
fonte
fonte
Respostas:
Tente isso,
Isso retornará o ID do drawable que você deseja acessar ... então você pode definir a imagem na visualização de imagem fazendo o seguinte
fonte
ou
fonte
Pessoalmente, prefiro usar o método
setImageResource()
como este.fonte
Os nomes desenháveis de recursos não são armazenados como seqüências de caracteres, portanto, você precisará resolver a sequência na constante inteira gerada durante a construção. Você pode usar a
Resources
classe para resolver a seqüência de caracteres nesse número inteiro.Isso resolve a string gerada no número inteiro que
ImageView
pode ser usado para carregar a imagem correta.Como alternativa, você pode usar o ID para carregar
Drawable
manualmente e, em seguida, definir a imagem usando esse drawable em vez do ID do recurso.fonte
Tão simples quanto esta resposta:
fonte
Isso funciona, pelo menos na API Android 15
Você pode usar setImageResource (), mas a documentação especifica que "faz leitura e decodificação de Bitmap no thread da interface do usuário, o que pode causar um soluço de latência ... considere usar setImageDrawable () ou setImageBitmap ()". como afirma chetto
fonte
Todas as respostas postadas não se aplicam hoje. Por exemplo, getDrawable () está obsoleto. Aqui está uma resposta atualizada, felicidades!
Do método documentado
fonte
Você pode tentar usar este código:
fonte
Se você não pode obter o objeto Resources como este em uma classe que não é uma Activity, é necessário adicionar o método getContext () para getResources (), por exemplo
fonte
imageView.setImageDrawable(getResources().getDrawable(R.drawable.my_drawable));
fonte
Você também pode usar algo como:
imageView.setImageDrawable(ActivityCompat.getDrawable(getContext(), R.drawable.generatedID));
ou usando o Picasso:
Picasso.with(getContext()).load(R.drawable.generatedId).into(imageView);
fonte
Eu tive o mesmo problema que você e fizemos o seguinte para resolvê-lo:
fonte
Construa uma classe POJO.java e crie "métodos construtor, getter e setter"
Em seguida, configure os adaptadores por meio de recursos extraíveis de imagem para CustomAdapter.java
Em seguida, passe as referências pelo ActivityClass.java
fonte
um pedaço do meu projeto, tudo funciona! )
fonte
btnImg.SetImageDrawable (GetDrawable (Resource.Drawable.button_round_green));
API 23 Android 6.0
fonte
O arquivo 'R' não pode ser gerado no tempo de execução do aplicativo. Você pode usar outras alternativas, como usar
if-else
ouswitch-case
fonte
R
novamente