我在科特林創建定時器(java.util.Timer中)是這樣的:與KotlinNullPointerException計時器崩潰內部片段
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
buttonStart.setOnClickListener({
val timer = Timer("schedule", true)
timer.scheduleAtFixedRate(1000, 1000) {
if (timerViewModel?.timerValue?.value!! > 0){
timerViewModel?.timerValue?.value = timerViewModel?.timerValue?.value!! - 1
activity.runOnUiThread { textViewTimer.text = timerViewModel?.timerValue?.value?.toString() }
} else {
cancel()
}
}
})
}
在與錯誤第五行此代碼崩潰:
kotlin.KotlinNullPointerException
at com.dmitry.timer.views.TimerFragment$onViewCreated$1$$special$$inlined$scheduleAtFixedRate$1.run(Timer.kt:145)
at java.util.Timer$TimerImpl.run(Timer.java:284)
當我在activity
內部創建計時器 - 它工作正常。 問題是什麼?
你是對的。這個錯誤在lambda裏面。美眉真的看起來很混亂:(謝謝 – Rainmaker