본문 바로가기

Dead Code/DEPRECATED-KOTLIN

[코틀린코드연습장] Handler.. sendMessage

핸들러를 통해서 화면처리를 하되, 출력되는 값을 메시지 명령어를 통해 가져온다. 

메시지는 쓰레드 클래스 안에서 처리한다.


(뭐라 쓴거지..)



class MainActivity : AppCompatActivity() {

var isRunning = true
var displayHandler : DisplayHandler? = null

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)

displayHandler = DisplayHandler()

var thread = TimeThreadClass()
thread.start()

}

inner class TimeThre


adClass : Thread() {
override fun run() {

var a1 = 10
var a2 = 20

while (isRunning) {
SystemClock.sleep(100)
var time = System.currentTimeMillis()

var msg2 = Message()
msg2.what = 1
msg2.arg1 = ++a1
msg2.arg2 = ++a2
msg2.obj = "this time is : ${time}"
displayHandler?.sendMessage(msg2)

}
}
}

inner class DisplayHandler : Handler(){
override fun handleMessage(msg: Message?) {
super.handleMessage(msg)

textView2.text = "arg1 : ${msg?.arg1}, arg2 : ${msg?.arg2}\n" +
"obj : ${msg?.obj}"

}
}

override fun onDestroy() {
super.onDestroy()
isRunning = false
}
}