Текстовое представление не обновляется при нажатии кнопки - PullRequest
1 голос
/ 27 мая 2020

Итак, я создаю приложение для здоровья, и одна из его функций - получить слова вдохновения. Таким образом, при нажатии кнопки отображается случайная строка из массива. Таким образом, при нажатии отображается одна цитата, но она не обновляется до новой цитаты каждый раз, когда вы щелкаете. Я использую неправильную функцию или чего-то не хватает?

public override fun onStart() {
    super.onStart()
    val Words : Array<String> = arrayOf("Dont give up", "Cry daily", "Just do it")
    val RandomInt = Random.nextInt(2)
    PowerTxt.text = ""
    NextWordBtn.setOnClickListener()
    {
        PowerTxt.text = ""
        PowerTxt.append(Words [RandomInt])
    }
}

Ответы [ 3 ]

3 голосов
/ 27 мая 2020

Проблема в том, что RandomInt никогда не меняется. Вы назначаете его только один раз перед установкой слушателя.

Если вы хотите генерировать случайный индекс каждый раз, когда вы нажимаете, просто выполните:

public override fun onStart() {
    super.onStart()

    val Words = arrayOf("Dont give up", "Cry daily", "Just do it")

    NextWordBtn.setOnClickListener() {
        PowerTxt.text = Words[Random.nextInt(2)]
    }
}
1 голос
/ 27 мая 2020

Пожалуйста, попробуйте следующее:

public override fun onStart() {
    super.onStart()
    val Words : Array<String> = arrayOf("Dont give up", "Cry daily", "Just do it")

    PowerTxt.text = ""
    NextWordBtn.setOnClickListener()
    {
        val RandomInt = Random.nextInt(2)
        PowerTxt.text = ""
        PowerTxt.append(Words [RandomInt])
    }
}
0 голосов
/ 27 мая 2020

Я был идиотом и не поместил случайное int внутри нажатия кнопки, поэтому он обновлялся с тем же значением

public override fun onStart() {
    super.onStart()
    val Words : Array<String> = arrayOf("Dont give up", "Cry daily", "Just do it")
    PowerTxt.text = ""
    NextWordBtn.setOnClickListener()
    {
        PowerTxt.text = ""
        val RandomInt = Random.nextInt(2)
        PowerTxt.append(Words [RandomInt])
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...