본문 바로가기

프로그래밍

[Kotlin] 안드로이드 Handler 무한반복 하기

반응형

 

 

while문 보다 Handler을 사용하여 무한 반복문을 만들 수 있습니다.

 

doHandler.postDelayed() 함수를 사용하여 0.1초(100ms) 쉬고 코드 수행 하도록 했지만

딜레이 없이 하려면 doHandler.post()을 사용하면 됩니다.

 

1
2
3
4
5
6
7
8
private val doHandler by lazy { Handler(Looper.getMainLooper()) }
 
private fun doInfinite(){
    /**
        Do it
    */
    doHandler.postDelayed(::doInfinite, 100) // param : 실행할 함수명, 딜레이
}
cs

 

무한 반복 중단하는 방법

무한반복시 중단 하는 방법도 있어야겠죠?

handler을 중단하여 무한 반복을 중단합니다.

 

- 첫번째 방법

1
doHandler.removeCallbacksAndMessages(null)
cs

 

- 두번쨰 방법

1
doHandler.removeCallbacks(::doInfinite) // '::'뒤에 함수명 입력 
cs
반응형