如何实例化在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。

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

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

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

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