Progtwigtivamente hacer un imageView visible / invisible usando una variable

Tengo una function de Kotlin, que funciona como se espera cuando se llama explícitamente a un imageView. Sin embargo, cuando se usa una variable 'cellName', el código no se comstackrá.

Mi objective aquí es generar programáticamente el nombre de imageView y luego establecer / desactivar su visibilidad. ¿Podría alguien decirme dónde me estoy equivocando?

TIA

fun game(view: View) { var col = 1 var row = 0 var cellName = "" object : CountDownTimer(10000, 1000){ override fun onFinish() { Toast.makeText(applicationContext, "Time's Up", Toast.LENGTH_LONG).show() textView9.text = "Time: 0" } override fun onTick(p0: Long) { textView9.text = "Time: "+ p0 /1000 // Hide current position cellName = "imageView"+row+col imageView01.setVisibility(View.INVISIBLE) // Get next random position // Show new Position } }.start() } 

Entonces: imageView01.setVisibility (View.INVISIBLE) -> works cellName.setVisibility (View.INVISIBLE) – no comstack

Puede generar una identificación de vista (también R.id constante R.id ) utilizando Resources.getIdentifier() .

Una muestra de tu código (suponiendo que estés ejecutando dentro de una Activity ) podría ser:

 int row = 0; int col = 1; String name = "imageView" + row + col; int id = getResources().getIdentifier(name, "id", getPackageName()); ImageView imageView = findViewById(id); imageView.setVisibility(View.INVISIBLE); 

Lamento que esto esté en Java, no en Kotlin. Espero que puedas adaptarlo.

Su mejor opción podría ser simplemente poner todas las ImageViews en cuestión en un map donde el valor que tiene para "cellName" es la key. Luego simplemente recupere cada ImageView del map.

  • Java Stream con :: nuevo en Kotlin
  • Desasignando una variable en kotlin
  • No se puede establecer el tipo de contenido en la request SOAP
  • Kotlin Regex llamado grupos de apoyo
  • Cómo Kotlin tomará val como palabra key de la class java
  • ¿Cómo vincular a un miembro estático de una class de Java en KDoc?
  • solo se permiten classs en el lado izquierdo de un literal de class al usar Mockito y kotlin
  • Setter for field se elimina por tipo de proyección
  • ¿Cuáles son los posibles valores que se le pueden dar a `@ Suppress` en Kotlin?
  • ¿Es una 'propiedad' privada un 'campo'?
  • Android Studio y Kotlin: sin cargar cambios