有人能确认从属性引用(从片段(检索drawable的正确方法吗?
val myDrawable = ContextCompat.getDrawable(activity.context, imageResId) ?: throw IllegalArgumentException("Cannot load drawable $imageResId")
中的activity.context
返回此错误:
未解析的引用:上下文
我不确定这里应该使用哪个上下文。
以下是一些相关代码:
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")
ResourcesCompat.getDrawable(requireActivity().resources, R.drawable.ic_baseline_arrow_back_24, null)
尝试以下操作:
activity.resources.getDrawable(imageResId)
Update:getDrawbale((从api 22中删除,在这种情况下,您可以尝试以下操作:
ResourcesCompat.getDrawable(activity!!.resources, imageResId, null)
Unresolved reference: context
的原因是活动中不存在这样的#getContext
方法。
由于在ContextCompat.getDrawable(activity.context, imageResId)
中,activity.context
将尝试调用activity#getContext
,由于该方法不存在,因此抛出此异常。
尝试将此语句更新为ContextCompat.getDrawable(activity, imageResId)
,因为活动本身就是上下文的一个实例。