2011-11-30 91 views
1

我有一個整型的質量,女巫我用這樣的:從SD卡一樣清晰度的圖像讀取

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

要設置點擊圖片:

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

此文件是在drowable。當我以同樣的方式使用SD卡上的文件時,我需要做什麼? 我嘗試做這樣的事情:

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") }; 

但它是錯的,我得到一個錯誤:

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

回答

0

你得到一個NumberFormatException異常,因爲你試圖解析完全合格的路徑以整數形式表示文件的名稱。這是不可能的。

爲了從SD卡中使用的圖像,你必須把它讀成位圖,然後傳遞到圖像視圖:

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