0

属性参照から(フラグメントから)ドローアブルを取得する正しい方法を誰かが確認できますか?

activity.contextで次のval 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")
4

4 に答える 4

0

その理由は、アクティビティを伴うメソッドが存在しUnresolved reference: contextないためです。#getContext

でを呼び出そうとするとContextCompat.getDrawable(activity.context, imageResId)、メソッドが存在しないため、この例外がスローされます。activity.contextactivity#getContext

ContextCompat.getDrawable(activity, imageResId)アクティビティ自体がコンテキストのインスタンスであるため、このステートメントを更新してみてください。

于 2020-03-04T09:49:54.513 に答える