企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 1. 加载图片字符串ID得到资源 如题,我期望从"R.drawable.xxx"的字符串可以得到图片资源。这里需要用到一个方法,就是: ~~~ // Rescourses public int getIdentifier(String name, String defType, String defPackage) { return mResourcesImpl.getIdentifier(name, defType, defPackage); } ~~~ 第一个参数是`res`下面的文件名;第二个参数是类型,比如:`layout`、`drawable`、`string`等;第三个参数是默认包名字,可以使用`getPackageName()`或者`null`。比如下面的案例: ~~~ val id = "R.drawable.ic_baseline_work_24" val split = id.split(".") // 得到ID val ResId = resources.getIdentifier(split[2], split[1], packageName) // 加载和设置资源 val drawable = getDrawable(ResId) img.setImageDrawable(drawable) ~~~ 最终图片可以正确加载。 # 2. 其余 当然,在`res`目录下的资源,如果是字符串`ID`形式,都可以使用这种方式。所以,可以很方便的存储资源`ID`字符串到数据库中。