如何从一个字符串设置ImageView的形象? [英] How to set an imageView's image from a string?
问题描述
予有条目和一些位图文件在res /抽拉-MDPI目录的列表。我试图加载对应于产生一个路径字符串,并使用位图工厂从列表中选择的字符串值的图像。现在的问题是,我不认为我的道路是正确的,因为位图总是空的,即使是默认的图像。
I have a list of entries and some bitmap files in the res/drawable-mdpi directory. I'm trying to load the image corresponding to the string value selected from the list by generating a path string and using bitmap factory. The problem is I don't think my path is right because the bitmap is always null, even for the default image.
String name = entries.get(position);
String img = "res/drawable/logo_" + name.toLowerCase() + ".png"; // create the file name
icon.setScaleType(ImageView.ScaleType.CENTER_CROP);
// check to see if the file exists
File file = new File(img);
if (file.exists()){
bm = BitmapFactory.decodeFile(img);
}
else{// use the default icon
bm = BitmapFactory.decodeFile("logo_default.png");
}
// set the image and text
icon.setImageBitmap(bm);
是否res目录甚至可以复制到设备?什么是我应该使用正确的路径,或者我应该会对此有所不同?
Does the res directory even get copied onto the device? What is the correct path I should be using, or should I be going about this differently?
感谢
推荐答案
如果你在你要对这个文件夹绘制的图像错误的方式。
if you have the image in the drawable folder you are going about this the wrong way.
尝试这样的事情
Resources res = getResources();
String mDrawableName = "logo_default";
int resID = res.getIdentifier(mDrawableName , "drawable", getPackageName());
Drawable drawable = res.getDrawable(resID );
icon.setImageDrawable(drawable );
这篇关于如何从一个字符串设置ImageView的形象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!