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.

  • Kotlin - ¿Cómo importar packages de nodos?
  • Kotlin IllegalStateException: recurso no encontrado en classpath: kotlin / .kotlin_string_table
  • ¿Tiene Kotlin una forma estándar de formatear un número como un ordinal inglés?
  • ¿Las classs de Kotlin que henetworkingan de las classs de Java también henetworkingan de Cualquiera?
  • ¿Cómo puedo get el valor (object) de la propiedad de un recurso?
  • No se puede pasar el valor de la cadena codificada a @BindingAdapter en Kotlin
  • El método de callback a menudo para reenviar el evento a Observable?
  • Error de data binding en Android Spinner
  • Generar diagtwig de class de Kotlin
  • Kotlin maven plugin order de compilation
  • Descartar el cuadro de dialog en la tecla Atrás presionada