我是 Kotlin 的新手,我正在尝试在我的 Android 项目中使用它。我有这个代码:
public var oneTouchTimer: CountDownTimer = CountDownTimer(500, 100) {
override fun onTick(l: Long) {
}
override fun onFinish() {
}
}
它抛出了错误:
Cannot create an instance of an abstract class.
基本上我正在尝试创建一个 CountDownTimer 实例,但无法弄清楚如何将其转换为 Kotlin。
这是Java代码:
CountDownTimer oneTouchTimer = new CountDownTimer(500, 100) {
@Override
public void onTick(long l) {
}
@Override
public void onFinish() {
}
};
最佳答案
你可以使用这个方法:
var variableName = object: CountDownTimer(...){
...
}
这些在 Kotlin 中被称为“对象表达式”。文档可在此处获得:Object expressions
https://stackoverflow.com/questions/34143564/
相关文章:
kotlin - 覆盖 Kotlin 数据类的 getter
generics - Kotlin 泛型中 "*"和 "Any"之间的区别
syntax - Kotlin 中的变量名或扩展运算符之前的 Kotlin 星号运算符
kotlin - 我们何时应该在 Kotlin 上使用 run、let、apply、also 和 w
android - Kotlin Android 启动新 Activity
kotlin - "experimental"Kotlin协程可以在生产中使用吗?
java - Kotlin:等效于 KClass 的 getClass()
unit-testing - 如何在 Kotlin 中管理单元测试资源,例如启动/停止数据库连接或嵌