2012-07-03 83 views
0
ImageView img = new ImageView(getBaseContext()); 
img.setImageDrawable(Drawable.createFromPath(new File (newBA,"/thumbanil.png").toString())); 
LinearLayout Previews = (LinearLayout)findViewById(R.id.Previews); 
Previews.addView(img); 
img.invalidate(); 
Previews.invalidate(); 

這個想法是從LinearLayout中的Drawable創建一個imageview。在LinearLayout中添加ImageView

但它不工作..代碼有什麼問題?

+3

當拼寫文件'thumbnail.png'而不是'thumbanil.png'時會發生什麼? – Sam

+0

...謝謝! – geecko

回答

0

你有一個文件thumbnail.png在你的設備的根文件系統?我猜不是,因爲這是一個只讀文件系統。

如果您想知道SD卡的根目錄或外部存儲位置,可以撥打getExternalStorageDirector()。如果您想確保外部存儲空間可用,則可以使用getExternalStorageState()。例如,

if (Environement.getExternalStorageState().equals(Enviroment.MEDIA_MOUNTED) { 
    ImageView img = new ImageView(getBaseContext()); 
    img.setImageDrawable(Drawable.createFromPath(new File (newBA, Environment.getExternalStorageDirectory() + File.separator + "thumbanil.png").toString())); 
    LinearLayout Previews = (LinearLayout)findViewById(R.id.Previews); 
    Previews.addView(img); 
    img.invalidate(); 
    Previews.invalidate(); 
} 
+0

實際上,我在文件夾「newBA」中有一個名爲thumbnail.png的文件。 唯一的錯誤是拼錯了「thumbnail.png」(thumbanil)。 – geecko

相關問題