Obtenga el recurso de identificación de Android de una cadena

En mi aplicación Kotlin tengo algunas ImageViews (en activity_main.xml ): imageView_0 , imageView_1 , imageView_2 y imageView_3 .

¿Cómo puedo acceder a la vista en un bucle de 0 a 3? Esto no funcionará:

 val imageView: ImageView = findViewById<ImageView>("R.id.imageView_" + index) as ImageView 

 for(i in 1..3){ val id: int=getResources().getIdentifier("imageview_"+i, "id", getPackageName()) imageview[i]=findViewById(id) as ImageView } 

Si tiene en el xml , imageview_1 , imageview_2 , imageview_3

Otra opción que permite declarar su matriz con ImageView s no anulables:

 val imageViews : Array<ImageView> = Array(4, { val id: Int = resources.getIdentifier("imageView_" + it, "id", packageName) findViewById<ImageView>(id) }) 

Terminé haciendo esto:

 var imageViews: Array<ImageView?> = arrayOfNulls(4) for (i in 0..3) { val id: Int = getResources().getIdentifier("imageView_" + i, "id", getPackageName()) imageViews.set(i, findViewById<ImageView>(id) as ImageView) }