Не удается получить доступ к assets.open () в OnBindBiewHolder в Kotlin. Попытка загрузить изображение из моей папки активов в определенные строки - PullRequest
0 голосов
/ 09 января 2020
val padder = holder?.view?.padImage
val inputStream = assets.open("greenface.jpg")
val drawableNew = Drawable.createFromStream(inputStream, null)
padder.setImageDrawable(drawableNew)

Выдает ошибку, говорящую, что неразрешенная ссылка открыта. Это отлично работало в моем классе основной деятельности

1 Ответ

1 голос
/ 10 января 2020

Спасибо Taseer,

В основной деятельности я передал контекст действия адаптеру:

recyclerView_main.adapter = MainAdapter(Model, this)

В своем классе адаптера я добавил аргумент контекста:

class MainAdapter(val boulderProblems: List<BoulderProblems>, var context: 
Context): RecyclerView.Adapter<CustomViewHolder>() {

И я изменил свой код активов так:

val padder = holder?.view?.padImage
val inputStream = this.context.assets.open("greenface.jpg")
val drawableNew = Drawable.createFromStream(inputStream, null)
padder.setImageDrawable(drawableNew)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...