Как использовать корутины для измения значений полей xml?
Смысл программы - Есть 2 кнопки: action и exit. При нажатии на action - текст в отдельном поле должен начать изменяться в бесконечном цикле. Exit - выход из программы (ее корректное закрытие). Основной Activity у меня выглядит так:
class MainActivity : AppCompatActivity() {
private lateinit var btn_action: Button
private lateinit var btn_exit: Button
private lateinit var txt: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btn_action = findViewById(R.id.btn_action)
btn_action = findViewById(R.id.btn_exit)
txt = findViewById(R.id.Text_data)
txt.text = "Hola"
btn_action.setOnClickListener {
lifecycleScope.launch{
hola()
}
}
btn_exit.setOnClickListener(
exitProcess(0)
)
}
fun hola() {
var count = 0
while (true) {
count++
txt.text = "${count}"
delay(500)
}
}
При запуске программа либо вылетает, либо не выполняет функцию hola. Как можно исправить этот код чтобы программа заработала?
Источник: Stack Overflow на русском