如何从片段中的属性引用中检索可绘制内容



有人能确认从属性引用(从片段(检索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),因为活动本身就是上下文的一个实例。

最新更新