gogui63 Posté(e) 16 septembre 2013 Share Posté(e) 16 septembre 2013 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 More sharing options...
Sporniket Posté(e) 17 septembre 2013 Share Posté(e) 17 septembre 2013 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 More sharing options...
Bismuth76 Posté(e) 9 octobre 2013 Share Posté(e) 9 octobre 2013 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 More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.