Задать вопрос
@KrUgerD

Как прервать код onTouchEvent(Kotlin)?

Есть условный код.
spoiler
@SuppressLint("ClickableViewAccessibility")
override fun onTouchEvent(event: MotionEvent): Boolean {
when (event.action) {
MotionEvent.ACTION_DOWN -> {
Log.d(TAG,"TAP ")

}
MotionEvent.ACTION_MOVE -> {
}

MotionEvent.ACTION_UP -> {
тут какой то код
цикл
}

MotionEvent.ACTION_CANCEL -> {
}
}
return true
}


Пользователь отводит палец от экрана, внутри события выполняется какой то код,например цикл.Как из него выйти,если пользователь снова каснется экрана?Что проверять?
  • Вопрос задан
  • 166 просмотров
Подписаться 1 Средний Комментировать
Решения вопроса 2
@alterEgoChaos
Android developer
Отдельно вынеси логику - while(notTouch) {

} ну или do {}while в зависимости от логики

в методе онТач notTouch = true/false ставишь и радуешься
Ответ написан
Комментировать
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Никак, потому что если прямо в onTouch выполняется цикл, то он выполняется на MainThread и занимает его чуть более, чем полностью. Пока ты его не отпустишь, никакие новые события из лупера тебе не свалятся и, соответственно, всё приложение зависнет к чертям.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы