android - 如何从片段中的属性引用中检索可绘制对象
问题描述
有人可以确认从属性引用(从片段)中检索可绘制对象的正确方法是什么?
activity.context
inval myDrawable = ContextCompat.getDrawable(activity.context, imageResId) ?: throw IllegalArgumentException("Cannot load drawable $imageResId")
返回此错误:
未解决的参考:上下文
我不确定这里应该使用哪个上下文。
以下是一些相关代码:
val typedValue = TypedValue()
activity!!.theme.resolveAttribute(R.attr.imgSearch, typedValue, true)
val imageResId = typedValue.resourceId
val myDrawable = ContextCompat.getDrawable(activity.context, imageResId) ?: throw IllegalArgumentException("Cannot load drawable $imageResId")
解决方案
尝试以下操作:
activity.resources.getDrawable(imageResId)
更新:getDrawbale() 已从 api 22 中删除,在这种情况下,您可以尝试以下操作:
ResourcesCompat.getDrawable(activity!!.resources, imageResId, null)
推荐阅读
- php - 查找多维数组中的每个子数组,如果固定位置的元素是该子数组的最大值
- r - 如何检查 R Dataframe 中特定列的每个值是否存在多个字符串?
- asp.net-core - POST null 因为属性类型不匹配?
- r - 如何使用top_n进行条件提取
- node.js - RegEx 的 MongoDB 性能问题
- html - 使用预先应用的过滤器为打开的侧面弹出窗口生成 Amazon 链接
- excel - 计算 2 个日期之间的活动成员 PowerPivot DAX
- php - 如何使用 PHP 解析 XML
- javascript - Google Apps 脚本 - 无法使用 concat 设置公式
- java - 我如何通过非 Spring Java 应用程序访问 Spring 远程服务