如何在kotlin上的listener中调用super方法


override fun close(){
var that = this
view!!.animate().alpha(0f).setListener(object : Animator.AnimatorListener {
override fun onAnimationStart(animation: Animator?) {}
override fun onAnimationCancel(animation: Animator?) {}
override fun onAnimationRepeat(animation: Animator?) {}
override fun onAnimationEnd(animation: Animator?) {
that.super.close()
}
}).setDuration(500).start()
}

如何在listener中调用super.close((?

that.super.close()

我不能称之为.super.close((

我能解决它吗?

我试着喜欢这个

override fun close(){
var that = this
view!!.animate().alpha(0f).setListener(object : Animator.AnimatorListener {
override fun onAnimationStart(animation: Animator?) {}
override fun onAnimationCancel(animation: Animator?) {}
override fun onAnimationRepeat(animation: Animator?) {}
override fun onAnimationEnd(animation: Animator?) {
that.closeSuper()
}
}).setDuration(500).start()
}
fun closeSuper(){
super.close()
}

这是工作。但是我想在监听器或close((方法中调用super.close((请帮帮我!

试试这个:super@ClassName.close()

当我试图在SampleDialog类的侦听器中调用super.show((时,它对我很有效,在我的情况下,它将是super@SampleDialog.show()

这里有一些参考资料。

最新更新