作爲標題,是否有任何方式在Kotlin
延遲後(例如1秒)調用函數?如何在Kotlin中延遲後調用函數?
回答
您可以使用Schedule
inline fun Timer.schedule(
delay: Long,
crossinline action: TimerTask.() -> Unit
): TimerTask (source)
也有使用Handler -> postDelayed
Handler().postDelayed({
//doSomethingHere()
}, 1000)
請補充說它只適用於android,因爲這個問題需要一個通用的kotlin方法(雖然它的確有Android標籤) –
從你這邊來看,這並不具有建設性。因此當用戶搜索android標籤時可能會認爲這是錯誤的答案。 –
val timer = Timer()
timer.schedule(timerTask { nextScreen() }, 3000)
你能解釋我爲什麼我需要寫「timerTask」而不是大括號? –
@HugoCastelani:你不需要.. –
一個簡單的例子3秒後,顯示敬酒一個選項:
fun onBtnClick() {
val handler = Handler()
handler.postDelayed({ showToast() }, 3000)
}
fun showToast(){
Toast.makeText(context, "Its toast!", Toast.LENGTH_SHORT).show()
}
你必須導入以下兩個庫:
import java.util.*
import kotlin.concurrent.schedule
後以這種方式使用它:
Timer().schedule(10000){
//do something
}
- 1. Cocos2D CCSpeed延遲後調用函數
- 2. 延遲函數調用 - Python
- 3. Kotlin:如何使用擴展功能延遲運行函數
- 4. 在OS X上延遲函數調用
- 5. 如何在tkinter中延遲調用函數?
- 6. 如何在python中延遲調用函數?
- 7. 延遲後調用方法?
- 8. 如何在jQuery中延遲ajax調用?
- 9. 延遲構造函數調用
- 10. 在調用函數之前在.hover()回調函數中添加一個延遲
- 11. 查看drawRect僅在延遲後調用
- 12. 調用JavaScript函數後放置延遲的最佳方式
- 13. 延遲調用
- 14. 如何在延遲後鏈接自定義函數?
- 15. 如何在頁面刷新後延遲javascript函數執行?
- 16. 如何在2秒延遲後用另一個JFrame調用JFrame?
- 17. jquery延遲後啓動函數
- 18. 在被調用的函數中延遲執行javascript代碼
- 19. 在Ruby或Rails中延遲函數調用
- 20. 如何給函數添加延遲
- 21. 如何在JS中調用2次或更多次時延遲函數執行?
- 22. jQuery函數鏈與延遲:.done() - 函數即時調用
- 23. 如何在延遲一段時間後調用didFinishLaunchingWithOptions
- 24. 在jquery函數中添加延遲
- 25. 在jQuery函數中需要延遲
- 26. 構造函數調用可覆蓋方法(延遲調用)
- 27. 如何將函數從返回延遲到點擊發生後
- 28. 如何延遲JavaScript函數,直到Jquery和Facebook都加載後?
- 29. 如何在JavaScript中延遲
- 30. 延遲調度調用?
謝謝!超級簡單。在這裏找到一個例子http://jamie.mccrindle.org/2013/02/exploring-kotlin-standard-library-part-3.html 'Timer(「SettingUp」,false).schedule(500){doSomething() }' –
這不會編譯 –
它編譯時,如果你添加這兩個導入: import java.util.Timer和import kotlin.concurrent.schedule – Customizer