2012-07-03 54 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

相关问题