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.

  • ¿Por qué Kotlin no implementa Int.plus (value: String)?
  • Burlarse de las interfaces con Kotlin y Mockito
  • Alinee dos botones centrados horizontalmente mediante progtwigción mediante el layout de restricción
  • ¿Cómo declarar una class que contiene un campo de tipo genérico en Kotlin?
  • Propiedad de extensión en línea Kotlin
  • Kotlin - Ordenar colección de maps
  • Kotlin: Error en Maps
  • RxJava manejando múltiples devoluciones de llamada dentro de un observable
  • ¿Cómo establecer "sourceCompatibility" para Kotlin y Gradle?
  • ¿Cómo puedo crear un "forEach" que devuelva un object que sea un receptor a la function de consumo?
  • Función de extensión en el enumerador, `values ​​()` no disponible?