如何从一个字符串设置ImageView的形象? [英] How to set an imageView's image from a string?

查看:96
本文介绍了如何从一个字符串设置ImageView的形象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

予有条目和一些位图文件在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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆