Je souhaite stocker l'ID des ressources dessinables sous la forme de R.drawable.*
un tableau à l'aide d'un fichier de valeurs XML, puis récupérer le tableau dans mon activité.
Des idées pour y parvenir?
android
arrays
android-xml
android-drawable
android-resources
gammaraptor
la source
la source
Réponses:
Vous utilisez un tableau tapé dans le
arrays.xml
fichier de votre/res/values
dossier qui ressemble à ceci:Puis dans votre activité, accédez-y comme ceci:
la source
Dans le
value
dossier, créezxml
un nom de fichier,arrays.xml
ajoutez-y les données de cette manièreEnsuite, obtenez-le dans votre code de cette façon
Ensuite, pour utiliser l'un
Drawable
de ces éléments dans le,img
TypedArray
par exemple,ImageView
background
utilisez le code suivantoù
index
est l'Drawable
index.defaultValue
est une valeur que vous donnez s'il n'y a pas d'article à ceciindex
Pour plus d'informations sur,
TypedArray
visitez ce lien http://developer.android.com/reference/android/content/res/TypedArray.htmlla source
Vous pouvez l'utiliser pour créer un tableau d'autres ressources, telles que des tableaux. Notez que le tableau ne doit pas nécessairement être homogène, vous pouvez donc créer un tableau de types de ressources mixtes, mais vous devez être conscient de la nature et de l'emplacement des types de données dans le tableau.
Et obtenez les ressources de votre activité comme ça
Prendre plaisir!!!!!
la source
La façon kotlin pourrait être la suivante:
la source
Dans Kotlin, vous pouvez faire comme: -
Vous obtiendrez un tableau d'images de la ressource comme
TypedArray
obtenir l'ID de ressource par l'index
OU vous pouvez définir la ressource d'imageView sur l'ID
et en dernier recycler le tableau
la source
Vous ne pouvez pas stocker de tableaux dans R.drawable pour autant que je sache.
Ce que vous pouvez faire est de créer un tableau dans config.xml ou strings.xml qui mappe un chemin vers une ressource dessinable à l'aide d'une ressource d'alias .
Voyez si cela fonctionne et faites-le moi savoir si vous avez besoin d'aide supplémentaire.
la source