я просто использовал Kotlins авто реорганизовать и это в основном оставил меня с этим:Котлин: Внутренняя сфера - Это
coverView.viewTreeObserver.addOnPreDrawListener {
coverView.viewTreeObserver.removeOnPreDrawListener(this)
true
}
Который не работает. IntelliJ показывает мне, что this
относится к внешнему классу, но не к OnPreDrawListener. Почему это? Котлинские документы говорят, что это всегда относится к внутренней области.
не могли бы вы разместить подпись типа 'addOnPreDrawListener'? Это единственное, что имеет значение здесь, и я не уверен, что вы используете здесь. – voddan
Это [здесь] (https://developer.android.com/reference/android/view/ViewTreeObserver.html#addOnPreDrawListener (android.view .ViewTreeObserver.OnPreDrawListener)). Почему подпись важна? IntelliJ говорит мне, что это относится к внешнему самому классу. addOnPreDrawListener имеет ту же подпись, что и removeOnPreDrawListener. –
Взгляните на http://stackoverflow.com/questions/33898748/how-to-reference-a-lambda-from-inside-it, это ошибка в конвертере. –