android - 如何从字符串中设置 imageView 的图像?

标签 android bitmap imageview

我在 res/drawable-mdpi 目录中有一个条目列表和一些位图文件。我正在尝试通过生成路径字符串并使用位图工厂来加载与从列表中选择的字符串值相对应的图像。问题是我认为我的路径不正确,因为位图始终为空,即使对于默认图像也是如此。

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 目录是否会被复制到设备上?我应该使用什么正确的路径,或者我应该采取不同的方式?

谢谢

最佳答案

如果您在可绘制文件夹中有图像,那么您将采取错误的方式。

试试这样的

Resources res = getResources();
String mDrawableName = "logo_default";
int resID = res.getIdentifier(mDrawableName , "drawable", getPackageName());
Drawable drawable = res.getDrawable(resID );
icon.setImageDrawable(drawable );

关于android - 如何从字符串中设置 imageView 的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5254100/

相关文章:

java - 向 GCM 服务器发送消息(使用 Java)时出现异常 [errorCode=MismatchSenderId]

android - 为 RecyclerView 的 item 动态添加 View

android - 如何在特定时间设置 View 可见?

android - 如何使用附加的位图启动 Activity ?

java - 如何将位图图像的注册点设置为底部中心?

android - 如何在 Android 上实现嵌套的主从流程?

android - 将 byteArray 转换为从 sqlite 检索的位图

android - 带有辅助工具提示的 EditText

java - 将随机图像设置为imageview android

java - 如何在 Android Studio 中以编程方式定位 ImageView