Я новичок в программировании Android и изучаю Android Studio, используя Kotlin.Я шел через программу, которая использует Handler и Runnable.Хотя я получил приблизительное представление о том, что это такое, вы можете объяснить это полностью понятным образом в контексте данного примера кода.
Вот грубая идея, которую я получил.
Обработчик обрабатывает выполняемый объект в очереди сообщений потока.
class MainActivity: AppCompatActivity () {
var score:Int= 0
var imageArray= ArrayList<ImageView>()
var handler: Handler= Handler()
var runnable: Runnable= Runnable { }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
score= 0
imageArray= arrayListOf(imageView1,imageView2,imageView3,imageView4,imageView5,imageView6,imageView7,imageView8,imageView9)
hideimages()
object: CountDownTimer(10000, 1000){
override fun onFinish() {
timerText.text="Times Up!"
handler.removeCallbacks(runnable)
for (image in imageArray){
image.visibility= View.INVISIBLE
}
}
override fun onTick(p0: Long) {
timerText.text= "Time: ${p0/1000}"
}
}.start()
}
fun increasescore(view: View){
score++
scoreText.text= "Score: $score"
}
fun hideimages(){
runnable= object : Runnable {
override fun run() {
for(image in imageArray){
image.visibility=View.INVISIBLE
}
val random= Random()
val index= random.nextInt(8-0)
imageArray[index].visibility=View.VISIBLE
handler.postDelayed(runnable,500)
}
}
handler.post(runnable)
}
}
Я хочу знатьпоток данного кода