Как обратиться к анонимному внутреннему классу в Котлине?

У меня есть метод расширения. Как я могу ссылаться на OnGlobalLayoutListener который передается в метод addOnGLobalLayoutListener() ? Мне нужно передать слушателя removeOnGlobalLayoutListener() .

 fun View.OnGlobalLayout(callback:() -> Unit ): Unit{ this.viewTreeObserver.addOnGlobalLayoutListener { if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { this.viewTreeObserver.removeOnGlobalLayoutListener(this); } else { this.viewTreeObserver.removeGlobalOnLayoutListener(this); } callback(); } } 

Один из способов – использовать выражение объекта вместо лямбда так:

 fun View.OnGlobalLayout(callback: () -> Unit): Unit { val viewTreeObserver = this.viewTreeObserver viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener { override fun onGlobalLayout() { if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN) { viewTreeObserver.removeOnGlobalLayoutListener(this); } else { viewTreeObserver.removeGlobalOnLayoutListener(this); } callback(); } }) }