从字符串值设置 Android 图像

2024-03-03

目前我正在 Android 应用程序中绘制 PNG 图像,如下所示:

ImageView image = new ImageView(context);
image.setImageDrawable(context.getResources().getDrawable(R.drawable.testimage))

如果我在数据库中有图像名称列表,有没有办法使用图像名称设置上面的可绘制对象?我已经有了遍历数据库的代码,我只是想根据从这里获取的值绘制图像。

例如数据库的一条记录:

ID:    Name:    ImageName:
-      Test     testimage

因此,当我阅读此记录时,我有一个值为“testimage”的字符串,然后我想将图像可绘制设置为R.drawable.testimage.

我想到的一种方法是这样的:

int image = R.drawable.blank; // blank image

// testimage.png is the image name from the database
if(imageName.toString().equals("testimage.png"))
    image = R.drawable.testimage;
else if(imageName.toString().equals("another.png"))
    image = R.drawable.another;
else if(imageName.toString().equals("etc.png"))
    image = R.drawable.etc;

然而这不是很有效!

Thanks


有一种方法可以做到这一点,您可以使用 Resources.getIdentifier() 通过字符串检索资源 IDhttp://developer.android.com/reference/android/content/res/Resources.html http://developer.android.com/reference/android/content/res/Resources.html

就像是:

int resourceId = Activity.getResources().getIdentifier("testimage", "drawable", "your.package.name");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从字符串值设置 Android 图像 的相关文章

随机推荐

  • firebase.intializeApp 不是一个函数

    所以我陷入了这个错误 我使用 telegram bot api 制作了一个 telegram 机器人 现在尝试设置一个 firebae DB 来保存组成员的分数 因此重新启动机器人后分数不会重置 有人可以告诉我问题是什么吗 我在这里读到了很
  • 如何在 Sublime Text 2 编辑器中将一行传递到控制台

    我使用 RStudio 来处理 R 编程语言并找到ctrl enter将一行发送到控制台的快捷方式对于解决我的工作问题非常有用 现在我正在使用 sublimetext2 我想在 RStudio 中做同样的事情 向控制台发送一行 有没有办法将
  • 定位偏移 div / 图像

    我想达到这个结果 参见此示例图片 首先 我尝试使用 CSS 创建部分边框 使用div after 问题 我有几个不同格式的图像 但它无法正常工作 所以 我尝试过使用背景 divposition relative和一个图像position a
  • docker-compose 不使用 Flask 设置环境变量

    运行 Flask 容器 当我尝试读取环境变量时 它们不是由 docker compose 设置的 我正在使用 docker compose 文件版本 2 compose file services test build test image
  • 像表格一样显示 DL [重复]

    这个问题在这里已经有答案了 如何设置定义列表项的样式以使每个定义都在一行中 HTML dl dt word dt dd meaning dd dt word dt dd meaning dd dt word dt dd meaning dd
  • Jupyter Lab未使用虚拟环境

    我创建了一个虚拟环境并安装了ipython all and jupyter与点 当我跑步时jupyter lab 打开笔记本 并尝试导入我在虚拟环境中安装的包 我收到 ModuleNotFoundError Running ipython在
  • 如何在 jquery 中切换 attr()

    我有一个简单的添加属性函数 list toggle click function list sort attr colspan 6 我的问题是 我怎样才能把它变成一个切换 所以colspan 6 下次单击时从元素中删除吗 如果你感觉很奇特
  • RenderTargetBitmap 渲染尺寸错误的图像

    我的任务是向用户显示 XPS 文档每一页的缩略图 我需要所有图像都很小 所以我用dpi设置为 72 0 我在 google 上搜索到 dpi 72 0 的 A4 纸的尺寸为 635x896 基本上 我执行以下操作 List
  • Sequelize 模型与模型不关联

    我花了几个小时却毫无结果 我有很多资源 它们都有点相同 但我就是无法让我的项目发挥作用 这个问题Sequelize js 不关联到 https stackoverflow com questions 50841912 sequelize j
  • 将此递归函数转换为迭代函数

    如何将这个递归函数转换为迭代函数 include
  • 如果在循环内部使用 getter 结果,则强制将其存储在变量中

    考虑以下课程 class Smth get functionWithSomeVeryUniqueName Some heavy calculations are here return obj gt obj Actually uses so
  • 使用Nutch如何抓取使用ajax的网页的动态内容?

    我正在使用 apache Nutch 1 10 来抓取网页并提取页面中的内容 一些链接包含在调用 ajax 时加载的动态内容 Nutch无法抓取和提取ajax的动态内容 我该如何解决这个问题 有什么解决办法吗 如果是 请帮助我回答 提前致谢
  • 有没有办法通过单个 HList 定义多个隐式证据?

    我有一段代码 在概念上类似于以下代码 library code trait Support K V def partialHandler K V key K value V implicit ev Support K V user code
  • (重新)使用 Visual Studio 2008 在 IE7 中启用 JavaScript 调试器

    Visual Studio 2008 附带了很好的 JavaScript 调试功能 但是我玩了一下 NetBeans 调试器 它在我的 IE 上安装了一个来自 Microsoft 的丑陋的脚本调试器 通常 IE 应该询问我想用什么来调试 但
  • 为什么 iOS 上需要重启才能发送崩溃日志?

    使用自定义的崩溃报告系统 例如专门从事iPhone 崩溃后要求用户发送崩溃日志 https stackoverflow com questions 5392283 ask the user to send crash log after c
  • C#命令获取结构偏移量?

    假设我有一个像这样的 C 结构 StructLayout LayoutKind Explicit struct IMAGE DOS HEADER FieldOffset 60 public int e lfanew 现在假设我从文件中读取数
  • 无法使用 MinGW 构建 Boost,它会寻找 Visual C++

    起初 我尝试使用以下命令构建安装了 MinGW 和 Microsoft Visual C 的 Boost bootstrap bat mingw b2 在构建过程中 我收到了大量日志行 表明构建是针对 Visual C msvc 完成的 所
  • 有没有办法让类名与表名不同?

    我们正在使用几年前创建的数据库 并且希望保持表名称相同 我们所有的表都命名为 tbl Orders 但我们希望模型 控制器等的类名称为 Orders OrdersController 等 我们使用实体框架将类映射到我们的表 抱歉 如果之前有
  • 通过反射访问Java中的私有变量[重复]

    这个问题在这里已经有答案了 我正在尝试编写一个方法 该方法将使用反射在类中获取私有字段 这是我的课程 针对此示例进行了简化 public class SomeClass private int myField public SomeClas
  • 从字符串值设置 Android 图像

    目前我正在 Android 应用程序中绘制 PNG 图像 如下所示 ImageView image new ImageView context image setImageDrawable context getResources getD