2011-11-30 3 views
1

I ont une masse d'int, sorcière-je utiliser comme ceci:lecture des images de carte SD comme res

final int[] iconN = new int[] { R.drawable.arrow_left_a, 
    R.drawable.arrow_right_a, R.drawable.sound_on, 
    R.drawable.sound_off }; 

Pour définir l'image clic:

final ImageView bL = (ImageView) findViewById(R.id.iV1); 
    bL.setOnClickListener(new OnClickListener() { 
    public void onClick(View v) { 
     bL.setImageResource(iconN[0]); 
    } 
    }); 

Ces fichiers sont en drowable. Qu'est-ce que je dois faire quand je vais travailler avec des fichiers de la carte SD de la même manière? J'essaie de faire quelque chose comme ceci:

final int[] iconC = new int[] { 
      Integer.parseInt(iA.getSdDir() + "/Files/Colors/arrow_left_a.png"), 
      Integer.parseInt(iA.getSdDir() + "/Files/Colors/arrow_right_a.png") }; 

Mais ce qui ne va pas et je reçois une err:

java.lang.NumberFormatException: unable to parse '/mnt/sdcard/izuchaika//Files/Colors/arrow_left_a.png' as integer 

Répondre

0

Vous obtenez un NumberFormatException parce que vous essayez d'analyser le chemin complet nom d'un fichier en tant qu'entier. Cela ne sera pas possible.

Pour utiliser l'image de la carte SD, vous devez le lire dans un bitmap et passer ensuite que le point de vue de l'image:

bl.setImageBitmap(BitmapFactory.decodeFile(iA.getSdDir()+"/Files/Colors/arrow_left_a.png")); 
Questions connexes