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