Gostaria de armazenar o ID dos recursos desenháveis na forma de R.drawable.*
dentro de uma matriz usando um arquivo de valores XML e, em seguida, recuperar a matriz na minha atividade.
Alguma idéia de como conseguir isso?
android
arrays
android-xml
android-drawable
android-resources
gammaraptor
fonte
fonte
Respostas:
Você usa uma matriz digitada no
arrays.xml
arquivo dentro da sua/res/values
pasta com a seguinte aparência:Em sua atividade, acesse-os da seguinte maneira:
fonte
Na
value
pasta createxml
file name,arrays.xml
adicione os dados dessa maneiraEm seguida, obtenha-o no seu código dessa maneira
Em seguida, use um
Drawable
desses noimg
TypedArray
exemplos, por exemplo,ImageView
background
use o código a seguironde
index
está oDrawable
índicedefaultValue
é um valor que você atribui se não houver nenhum itemindex
Para obter mais informações sobre,
TypedArray
visite este link http://developer.android.com/reference/android/content/res/TypedArray.htmlfonte
Você pode usar isso para criar uma variedade de outros recursos, como drawables. Observe que não é necessário que a matriz seja homogênea, portanto, você pode criar uma matriz de tipos de recursos mistos, mas deve estar ciente de quais e onde os tipos de dados estão na matriz.
E obtenha os recursos em sua atividade como este
Aproveitar!!!!!
fonte
Kotlin maneira poderia ser esta:
fonte
No Kotlin, você pode fazer o seguinte: -
Você obterá uma matriz de imagem do recurso como
TypedArray
obter ID do recurso pelo índice
OU você pode definir o recurso do imageView como o id
e finalmente reciclar a matriz
fonte
Você não pode armazenar matrizes em R..drawable até onde eu sei.
O que você pode fazer é criar uma matriz em config.xml ou strings.xml que mapeie um caminho para um recurso desenhável usando um recurso de alias .
Veja se isso funciona e entre em contato se precisar de ajuda adicional.
fonte