今天在做自定义ImageView时,重写onDetachedFromWindow()
@Override
protected void onDetachedFromWindow() {
// TODO Auto-generated method stub
super.onDetachedFromWindow();
getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
报:java.lang.NoSuchMethodError: android.view.ViewTreeObserver.removeOnGlobalLay
因为版本的问题removeOnGlobalLayoutListener()是后面才加上去的,需要判断版本
改为:
if(Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN) {
getViewTreeObserver().removeGlobalOnLayoutListener(this);
} else {
getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
这样就兼容了低版本的Android系统。