我正在尝试使用GlobalLayout
来监听。
view.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
int c=0;
@Override
public void onGlobalLayout() {
c++; //without removing the listener c will grow for ever even though there is no GlobalLayout events
view.setText(""+c);
}
});
但是它被称为无限调用。
我知道我应该像这样删除监听器:view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
但我想保持监听器活动,以便下一个GlobalLayout
事件。
目前,我只是尝试使用这个问题来监听视图位置的更改。我尝试了onPreDraw
,但是效果相同。
是否有可能监听多个GlobalLayout
事件?
感谢您的提前帮助。
OnLayoutChangeListener
怎么样? - Pavel Poley增加c
? - Sherif elKhatib