MainActivity.kt
package com.example.a02handler
import android.os.Bundle
import android.os.Handler
import android.os.Message
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import java.lang.ref.WeakReference
import java.util.*
class MainActivity : AppCompatActivity() {
private lateinit var show: ImageView
class MyHandler(private val activity: WeakReference<MainActivity>) : Handler(){
private var imageIds = intArrayOf(R.drawable.java, R.drawable.javaee, R.drawable.ajax, R.drawable.android,
R.drawable.swift)
private var currentImageId = 0
override fun handleMessage(msg: Message) {
if (msg.what == 0x1211){
activity.get()?.show?.setImageResource(
imageIds[currentImageId++ % imageIds.size]
)
}
}
}
val myHandler = MyHandler(WeakReference(this))
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
show = findViewById(R.id.show);
Timer().schedule(object : TimerTask(){
override fun run() {
myHandler.sendEmptyMessage(0x1211)
}
}, 0, 1200)
}
}