как я могу использовать переменную, чтобы вызвать другой r.color - PullRequest
0 голосов
/ 09 апреля 2019

Я хочу поместить "colorSRMx" в переменную и вызвать ее как-то так. Как я могу написать более эффективный код.

colorint = getColor(resources, R.color."VARIABLE", null)

sbarSRMColor.setOnSeekBarChangeListener(object :SeekBar.OnSeekBarChangeListener {
            override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {
                txtsrm =  progress.toString()
                when (txtsrm) {
                    "1" -> colorint    = getColor(resources,R.color.colorSRM1,null)
                    "2" -> colorint    = getColor(resources,R.color.colorSRM2,null)
                    "3" -> colorint    = getColor(resources,R.color.colorSRM3,null)
                    "4" -> colorint    = getColor(resources,R.color.colorSRM4,null)
                    // and so on...
                }

                value.setBackgroundColor(colorint)
            }
    }

1 Ответ

0 голосов
/ 09 апреля 2019
fun Activity.parseColorSafe(colorString: String): Int{
    return try {
        Color.parseColor(colorString)
    } catch (exception: Exception) {
        resources.getColor(R.color.transparent)
    }
}

В своей деятельности используйте метод типа parseColorSafe(colorSRM1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...