Ich versuche, Höhe einer Ansicht in onCreate-Methode zu erhalten, aber ich konnte keine Möglichkeit finden, OnGlobalLayoutListener zu entfernen.Wie referenziere ich ein Lambda von innen?
In Java (in Betrieb):
containerLayout.getViewTreeObserver.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
containerLayout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
int width = layout.getMeasuredWidth();
int height = layout.getMeasuredHeight();
}
});
In Kotlin (nicht "der" zu akzeptieren):
containerLayout.viewTreeObserver.addOnGlobalLayoutListener {
containerLayout.viewTreeObserver.removeOnGlobalLayoutListener(this)
Toast.makeText(applicationContext, "size is "+ containerLayout.height,Toast.LENGTH_LONG).show()
}
Gibt es eine Referenz oder ein Beispiel für dieses Problem? Vielen Dank.
Gibt es einen Grund, warum ich diesen Fehler nach Update Kotlin Version bekomme: 'Fehler: Ausnahme beim Analysieren Ausdruck bei (84,13) in ...: java.lang.IllegalStateException: @NotNull Methode org/jetbrains /kotlin/descriptors/impl/FunctionDescriptorImpl.getTypeParameters darf nicht null zurückgeben – shem