私はこの質問(getWidth() and getHeight() of View returns 0)のサンプルコードを使用しています。Kotlin匿名クラスthis
それは次のコード、
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
view.getHeight(); //height is ready
}
});
を持っていたと私は結果がだから、
11-22 19:18:33.319 4754-4754/loser.qrcode D/Should be called once: Height = 672, Width = 672
11-22 19:18:33.328 4754-4754/loser.qrcode D/Should be called once: Height = 672, Width = 672
だった、それが二回呼ばれたこの
image_view.viewTreeObserver.addOnGlobalLayoutListener{
image_view.viewTreeObserver.removeOnGlobalLayoutListener { this }
Log.d("Should be called once", "Height = " + image_view.height + ", Width = " + image_view.width)
};
ようKotlinにそれを書きました。つまり、removeOnGlobalLayoutListener
は機能しませんでした。 this
の代わりに何を使用すればよいですか?