¡Hola!

El proyecto que acabamos de desarrollar es muy sencillo pero nos permitió aplicar nuestro conocimientos de Kotlin al mundo Android.

Quisiera ponerles un pequeño reto...

Cómo recordarán nosotros tenemos un pequeño método que nos ayuda a obtener un numero aleatorio para poder usarlo en nuestros arreglos y obtener un elemento al azar:

private fun getRandomNum(max: Int) = (Math.random() * max).toInt()

Esta solución es correcta, pero podemos usar el poder de las funciones de extensión para que nuestros arreglos puedan obtener elementos al azar por su cuenta.

Su misión, si deciden aceptarla, es crear las funciones de extensión apropiadas para la clase Array e IntArray de manera que podamos utilizar un método llamado getRandomElement().

El código final debería quedar similar a este:

pressMeButton.setOnClickListener {

    val colors = resources.getIntArray(R.array.phrasesColors)

    val phrases = resources.getStringArray(R.array.phrases)

    val randomColor = colors.getRandomElement()



    phraseTextView.text = phrases.getRandomElement()

    phraseTextView.setTextColor(randomColor)

    pressMeButton.setBackgroundColor(randomColor)



}


Saludos!!!