通过ID动态获取drawable

2023-11-24

我想要一个byte并将其附加到资源 ID 中,以便能够获取与游戏中编号的牌组相对应的图像。使用其他设备上的路径很容易,但是使用资源 ID,我不确定如何才能做到这一点。

这是我现在所拥有的:

switch(GameSettings.gameDeck)
    {
    case 1:
        deckImage.setBackgroundResource(R.drawable.deck1);
        break;
    case 2:
        deckImage.setBackgroundResource(R.drawable.deck2);
        break;
    case 3:
        deckImage.setBackgroundResource(R.drawable.deck3);
        break;
    case 4:
        deckImage.setBackgroundResource(R.drawable.deck4);
        break;
    }

在我的黑莓版本中,我只是有:

deckImage.setBitmap(Bitmap.getBitmapResource("/path/deck" + GameSettings.gameDeck + ".png"));

有没有办法在 Android 上使用资源 ID 来完成类似的事情?


Use getResources().getIdentifier()从你的Context (e.g., Activity),但如果您要多次使用它,请缓存结果。getIdentifier()实施于Resources.

例如:

int drawableId=getResources().getIdentifier("foo"+index, "drawable", getPackageName());

将返回的值R.drawable.fooN, where N是由下式给出的数字index.

有关更多信息,请参阅this and this and this.

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

通过ID动态获取drawable 的相关文章

  • 在 Java 中停止线程? [复制]

    这个问题在这里已经有答案了 我正在编写一段代码 该代码连接到服务器 使用该连接生成一堆线程并执行一堆 东西 在某些情况下 连接会失败 我需要停止一切并从头开始使用新对象 我想在对象之后进行清理 但在线程上调用 thread stop 但此方
  • Hazelcast Jet 变更数据捕获

    我在我的应用程序中使用 Hazelcast 更改数据捕获 CDC 我使用 CDC 的原因是 如果使用 jdbc 或其他替代功能将数据加载到缓存中 会花费大量时间 所以CDC将在数据库和 Hazelcast Jet 之间进行数据同步 Stre
  • Java GUI,根据actionListener更改面板

    我在两个不同的面板中添加了两个按钮 如果单击第一个按钮 则需要转到下一个面板 其中包含第二个按钮 但是当我单击第一个按钮时 该按钮没有被替换 Java GUI import java awt event ActionEvent import
  • 在 Android 上解析 RSS

    我有几个 RSS 源需要为我的应用程序进行解析 我按照这里的优秀教程进行操作 http w2davids wordpress com android rssatom feeds parsing with rome http w2davids
  • TextView 中缩进项目符号列表

    我有一个 TextView 我用 strings xml 中的字符串资源中的文本填充它 字符串资源包含 元素 用于在 TextView 内创建项目符号列表 我的问题是我想控制项目符号列表中跨越多行的行的缩进 默认情况下 文本不会缩进超过项目
  • 在 Scala 中创建 Java 对象

    我有一个 Java 类 Listings 我在 Java MapReduce 作业中使用它 如下所示 public void map Object key Text value Context context throws IOExcept
  • Retrofit RxAndroid 为 api 调用制作包装器

    我想在改造中为 api 调用创建一个包装器 这样我就可以在常见位置显示 ProgressDialog 并处理常见响应 我通过创建这样的包装器来实现这一点 public static
  • Android Studio安装JDK错误

    In Android Studio I am facing bellow error 当我按下时会显示此弹出窗口Alt Enter对于缺少的类 符号 当我点击 setup SDK 时 它显示两个选项 1 8 Java版本 1 8 0 60
  • 使用 spring mvc 的多个域

    假设我有一个应用程序必须缩短 URL 但还要执行其他操作 喜欢google com and goo gl or facebook com and fb me 部署两个应用程序很容易 但 目前 仅部署一个应用程序更简单 使用 spring 和
  • 如何修复 java.lang.ClassNotFoundException: org.springframework.boot.configurationprocessor.json.JSONException 错误?

    当我在生产环境中将 Spring Boot 服务作为 Windows 服务运行时 出现以下错误 服务exe的创建者是Jar2exe https www jar2exe com java lang reflect InvocationTarg
  • 清单合并失败:需要为 显式指定 android:exported

    我的清单文件有问题 错误消息 清单合并失败 android 需要为 明确指定导出 面向 Android 12 及更高版本的应用需要指定显式值android exported当相应的组件定义了意图过滤器时 有关详细信息 请参阅 https d
  • 只需更新一个小部件 RemoteViews 而不是完全创建一个新小部件?

    在 AppWidgetProvider 类的 onUpdate 方法中 我最终执行了大量代码 以便我可以完全重新创建一个新的 RemoteView 对象 现实是 每次更新时 我实际上只需要在 RemoteView 中的 TextView 之
  • RecyclerView 来自 Firebase 的部分和数据

    您好 我正在开发一个应用程序 在其中我必须使用 Firebase 填充数据回收器视图 准备就绪 现在我想做的是用 data firebase 填写一个 recyclerview 但有一些部分将成为托管 data firebase 的父级 我
  • 将 AutomationID 与 ListView 结合使用

    我正在尝试将 AutomationId 附加到列表视图中的项目 理想情况下 将项目名称绑定到显示的项目
  • 我们可以将请求分派到 servlet 内的 HTML

    这可能吗 RequestDispatcher rd request getRequestDispatcher index html rd forward request response 是的 您可以将请求分派到 HTML 页面
  • 当列表中不存在 X 时,从列表中查找大于 X 的值

    我试图从列表中查找大于特定值 在我的情况下已知 的值 Example Given list 1 2 5 10 15 list is sorted 查找大于的值X 7在这种情况下 期望的结果 返回一个包含值的列表 10 15 我尝试使用jav
  • 找不到满足版本限制的“com.google.code.findbugs:jsr305”版本

    当生成签名的 APK 进行发布时 我收到此错误消息 Cannot find a version of com google code findbugs jsr305 that satisfies the version constraint
  • Android Studio MediaStore,低于 SDK 29 将图像保存在 SD 卡中失败

    我需要将图像保存在Android 10以下的sd card的图片目录中 我已经实现了范围存储 此代码适用于sdk 29及以上版本 因为MediaStore getExternalVolumeNames是在sdk 29中添加的 sdk 29以
  • Android 通知上有按钮

    我正在尝试使用 2 个按钮发出通知 一个带我回到活动 另一个将其关闭 有谁知道如何捕获按钮单击事件 请记住活动已暂停 我很高兴发布它 经过一夜的工作 我发现了一些东西 那么 我们开始吧 1 为您的通知创建 xml 布局文件 2 使用Noti
  • StableArrayAdapter 与 ArrayAdapter

    我正在看这个ListView教程 列表视图教程 http www vogella com tutorials AndroidListView article html 我想知道创建自己的更好ArrayAdapter 而不仅仅是使用和Arra

随机推荐

  • 将强制转换应用于整数和浮点除法的结果:这里发生了什么?

    我是一个初学者 有些东西对我来说没有多大意义 请好心人解释一下我哪里出错了 如果之前有人问过这个问题 我很抱歉 这里小数点的存在意味着这些是使用浮点除法来计算的 System out println 1 3 0 this prints 0
  • Javascript计时器进度条

    我有定时器功能 有进度条 它工作得很好 但我想制作一个平滑的进度条动画 帧速率为 60 FPS function started duration var TotalSeconds 40 var documentWidth document
  • 如何在 spring-boot 应用程序启动期间创建多个 kafka 主题?

    我有这样的配置 Configuration public class KafkaTopicConfig private final TopicProperties topics public KafkaTopicConfig TopicPr
  • Android NDK - 找不到库无法链接可执行文件 - 如何设置 LD_LIBRARY_PATH?

    我有一个 Android 活动 我正在其中执行 NDK 编译的代码 命令行程序 Runtime getRuntime exec myCommand 并加载所需的共享库 static System loadLibrary myLib 但是当运
  • 存在多个 AJAX 刷新和 TinyMCE 问题

    所以我就陷入了这样的困境 上面是在我的PHP页面上调用的 然后我打电话 var request ajax url getEvents php type POST data method showevents dataType
  • Docker-Compose 容器 IP 地址和容器名称

    我的 docker compose 有两个服务 和 docker compose yml 定义环境变量 ip 地址和容器名称 version 2 services api build api command python3 manage p
  • 重复的 HTTP 响应标头是否可以接受?

    我还没有找到任何关于标准是否允许重复的 HTTP 响应头的规范 但我需要知道这是否会导致兼容性问题 假设我有一个像这样的响应标头 HTTP 1 1 302 Moved Temporarily Server Apache Coyote 1 1
  • Zend Form SetAction 使用命名路由

    我有一个表格 我正在尝试为其设置操作 我想使用我在引导程序中创建的路由在表单文件 扩展 Zend Form 中而不是在控制器或视图中声明操作 通常当我想使用路线时我会做类似的事情 this gt url array route name 在
  • Spring @QuerydslPredicate 问题

    使用的库 Spring Boot 1 3 2 RELEASE 查询DSL 3 7 2 QueryDSL Maven 插件 1 1 3 休眠 4 3 11 Final Issue 目前 我有一个 Spring Boot 应用程序 它具有使用
  • 在 Android 地图中的 geo:-url 处显示标记

    Android 上的 Google 地图是否不仅可以在地图应用程序中显示给定坐标 还可以在该位置设置标记 或图钉 我阅读了文档https developer android com guide appendix g app intents
  • 客户端文件创建和下载

    我们正在使用 fusioncharts 它能够在客户端使用 javascript 导出 csv 数据 我们希望能够获取该数据并在浏览器中动态创建文件 那可能吗 如何 尝试下面的代码允许您访问客户端文件系统 但这仅适用于 IE 浏览器
  • NetBeans 中 Java EE 项目中的默认 index.jsp 文件在哪里?

    我在 NetBeans 中创建一个简单的 Web 应用程序 名为 WebApplication1 已创建一个文件 名为index jsp 当我运行应用程序时 浏览器会转到index jsp 项目中没有任何地方将其称为欢迎页面 那么那里进展如
  • ios uitableview 在滚动时淡入底部单元格和顶部单元格

    当我的 uitableview 的单元格滚动到视图之外时 我会淡出它们 或者当它们滚动到视图中时 我会淡入它们 我面临的问题是 如果我滚动得非常快 有时完全可见的单元格会保持灰色 下面是我的代码 void scrollViewDidScro
  • Starteam 到 X 的迁移? (其中 X 是以下之一:svn/git/hg/bzr ...)

    是否有工具可以将 Starteam 迁移到 svn 或 git 或任何其他现代 体面的源控制系统 我正在考虑一些类似的事情git svn作品 允许您使用 git 从 svn 存储库中拉取 可以导入 StarTeam 存储库并将其转换为 sv
  • 使用 oledb 命令从 Excel 中读取数据

    在下面的代码中 而不是指定选项卡名称 我们是否可以只说 select from tab1 选项卡名称可能是什么 OleDbCommand excelOledbCommand new OleDbCommand Select From Shee
  • 使用引用参数嵌套调用 consteval 函数

    下面的程序 template
  • 通过命令行进行文件夹比较

    我想比较 Windows Vista XP 上的两个文件夹 其中有大量大文件 我需要比较它们 如果我使用Beyond Compare或者类似的工具来比较文件夹 如果我手动进行的话会花费很多时间 我需要将该文件夹比较添加到批处理文件中 那么在
  • 如何估计 GIF 文件大小?

    我们正在建立在线视频编辑服务 其中一项功能允许用户将视频中的一小段导出为动画 gif 伊姆古尔有一个文件大小限制每个上传的 gif 动画大小为 2Mb Gif 文件大小取决于帧数 颜色深度和图像内容本身 纯色的平面颜色会产生非常轻量级的 g
  • 如何通过控制台启用/禁用 google chrome 扩展

    今天 在打开 Google Chrome 时 我意识到没有简单的方法可以在不前往以下位置之一的情况下启用或禁用扩展 chrome 扩展 单击工具 gt 扩展 gt 启用 禁用 这之所以如此重要 是因为它占用的资源 例如 我将启动我的计算机
  • 通过ID动态获取drawable

    我想要一个byte并将其附加到资源 ID 中 以便能够获取与游戏中编号的牌组相对应的图像 使用其他设备上的路径很容易 但是使用资源 ID 我不确定如何才能做到这一点 这是我现在所拥有的 switch GameSettings gameDec