2011-03-15 3 views
0

Ok alors voici ma question, je ai une liste d'éléments que lorsqu'un utilisateur clique sur l'un, il est ajouté à un fichier de préférences partagé qui ressemble à ceci: <map> <string name="Some Name">R.drawable.somename</string> </map>Android ajouter dynamiquement des images de xml dans gridview

aide ce code:

prefEdit.putString(title[position],imgString[position]);       
       prefEdit.commit(); 

ce que je veux faire est de placer R.drawable.somename à partir du fichier XML en vue de la grille comme une image à la place de:

 private Integer[] mThumbIds = { 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation, 
      R.drawable.archery, R.drawable.aviation 
    }; 

Actuellement, l'utilisateur peut sélectionner jusqu'à 130 éléments différents qu'il peut ajouter à la vue de la grille.

Des suggestions?

Répondre

0

Il serait préférable d'avoir juste le magasin xml le nom de base, ("somename", "tir à l'arc", "aviation"). Alors vous pourriez obtenir l'identification faisant ceci.

int id = getResources().getIdentifier("archery", "drawable", getPackageName()); 

Dans cet exemple, si votre table dessinée était R.drawable.archery, alors ID serait = R.drawable.archery. Vous pouvez stocker les chaînes dans le fichier XML et obtenir les ID de cette façon.

+0

Désolé je dois avoir trop de choses dans ma tête parce que je ne peux toujours pas comprendre comment je reçois de '' dans mon fichier de préférences à int 'id = getResources() .getIdentifier ("tir à l'arc", "drawable", getPackageName()); ' –

+0

l'a inventé grâce à: String Archery = mPref.getString (" Tir à l'arc "," "); int IntArchery = getResources(). GetIdentifier (Tir à l'arc," drawable ", getPackageName()); private Integer [] mThumbIds = { IntArchery}; ' –

Questions connexes