如何实例化在Kotlin中实现接口的匿名类

在Java中,实例化一个接口对象就像new Interface()一样简单,并覆盖所有必需的函数,如下所示,在AnimationListener

 private void doingSomething(Context context) { Animation animation = AnimationUtils.loadAnimation(context, android.R.anim.fade_in); animation.setAnimationListener(new Animation.AnimationListener() { // All the other override functions }); } 

但是,当我们键入Kotlin时

 private fun doingSomething(context: Context) { val animation = AnimationUtils.loadAnimation(context, android.R.anim.fade_in) animation.setAnimationListener(Animation.AnimationListener(){ // All the other override functions }) } 

它的错误投诉未解决参考AnimationListener。

2 Solutions collect form web for “如何实例化在Kotlin中实现接口的匿名类”

正如文件中所解释的那样:

 animation.setAnimationListener(object : Animation.AnimationListener { // All the other override functions }) 

显然最近的做法(使用Kotlin 1.0.5)现在没有括号,因为接口没有空的构造函数。

 animation.setAnimationListener(object : Animation.AnimationListener { // All the other override functions }) 
  • 为什么不重新安排在Intellij Kotlin文件中的代码工作?
  • RxJava操作符用于切换方法
  • 如何实例化一个新的泛型类型的实例
  • 使用Retrofit 2和Kotlin获取错误的原始HTML / JSON响应
  • Kotlin应用程序生成失败,由于“无法初始化类com.intellij.ide.highlighter.JavaFileType”
  • 无法在Android Studio中分析Android应用程序
  • Kotlin类实现Java接口错误
  • Kotlin:如何用扩展函数扩展enum类
  • Kotlin无效检查错误
  • 如何配置使用klaxon库的spring引导
  • 为什么IntelliJ Idea不能从另一个Kotlin模块中找到Maven依赖关系?
  • Kotlin language will be the best programming language for Android.