Kotlin синтаксис: как определить ресурс в цикле - PullRequest
0 голосов
/ 31 марта 2020

У меня есть серия растровых изображений, которые я хочу установить в массив растровых изображений.

var wallFaces: Array<Bitmap>? = null

Я могу сделать это: (это работает)

init {
    wallFaces?.set(0,BitmapFactory.decodeResource(context.resources, R.drawable.brick_wall_face_0))
    wallFaces?.set(1,BitmapFactory.decodeResource(context.resources, R.drawable.brick_wall_face_1))
    etc...
}

Но для больше гибкости, я хотел бы сделать что-то вроде этого:

init {
    for(i in 0..1) {
        wallFaces?.set(i,BitmapFactory.decodeResource(context.resources, R.drawable.brick_wall_face_<i>))
    }
}

Я не могу найти правильный синтаксис, чтобы он соответствовал. Есть идеи?

1 Ответ

0 голосов
/ 31 марта 2020
for(i in 0..1) {
    val idString = "brick_wall_face_$i"
    val drawableId = context.resources.getIdentifier(idString, "drawable", context.packageName)
    wallFaces?.set(i, BitmapFactory.decodeResource(context.resources, drawableId))
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...