Aller au contenu

Charger une image, si ( ... )


gogui63

Recommended Posts

Bonjour, tout d'abord désolé pour le titre je n'ai pas su trouver plus explicite ... 

Voila mon problème , je cherche à comparé un string à une valeur donnée, jusqu'à la pas de problème mais à la suite de cette condition je souhaiterai afficher une image spécifique, pour mieux comprendre voila mon code : 

        String str = this.getString(R.string.map);

        if ( str.equals("o")) {
            ImageView iv=(ImageView)findViewById(R.id.imageView1);
            iv.setImageResource(R.drawable.image1);
        }
        else if(str.equals("x")
        {
            ImageView iv2=(ImageView)findViewById(R.id.imageView2);
            iv2.setImageResource(R.drawable.image2);
           
        }

Tout ça pour créer une map pour un jeu en alignant les .png selon un chaine de caractère,où chaque caractère représentera une image vous pensez que c'est possible ? Est ce une bonne méthode pour générer une map à partir d'une chaine de caractère ?

 

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Je pense qu'au préalable, tu peux préparer :

  • une liste d'ImageView, initialisée en récupérant toutes tes image view dans l'ordre que tu veux.
    List<ImageView> myImageViews = new ArrayList<ImageView>(10) ; //par exemple
    myImageViews.add((ImageView)findViewById(R.id.imageView1));
    myImageViews.add((ImageView)findViewById(R.id.imageView2));
    //etc...
    
  • Une map associant un caractère à une ressource image (R.drawable.xxx), initialisé comme tu le souhaite (au pire une série de put en dur)
myMap.put("a", R.drawable.image1)
myMap.put("b", R.drawable.image13) // c'est pas forcément des id qui se suivent...
//etc...

Ensuite, tu parcours ta chaîne de caractères et ta liste en parallèle, et pour chaque caractère, tu récupère la resource image de la map.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 weeks later...

Une autre solution serait de définir la liste d'image en xml à l'aide d'une levelList :

 

http://developer.android.com/guide/topics/resources/drawable-resource.html#LevelList

 

Cela permet de n'associer qu'une ressource (la liste de drawables) puis de changer l'image à afficher en faisant un setLevel();

 

Voilà, en espérant que ça t'aide ;)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...