为什么我不能把Kotlin的一个匿名class放在一个新线路上?

这个问题可能是愚蠢的,但是…为什么? 就我个人而言,我喜欢微软风格,其中{与匹配列在同一列}。 在我用过的所有语言中,{放置的位置并不重要。

但是在Kotlin中,只有这样才行。

image_view.viewTreeObserver.addOnGlobalLayoutListener{ }; 

这会导致错误。

 image_view.viewTreeObserver.addOnGlobalLayoutListener { }; 

https://kotlinlang.org/docs/reference/grammar.html#semicolons

因为你的第二个例子和

 image_view.viewTreeObserver.addOnGlobalLayoutListener; { }; 

一个属性访问接着是一个空的lambda。