我听onGlobalLayoutListener
如下面的代码所示。我只想听一次。
一次onGlobalLayout()
叫做我不想再听了。
我尝试使用removeOnGlobalLayoutListener()
方法,但这会发出警告调用所需的 API 级别 16(当前最低为 14).
我也尝试过使用removeGlobalOnLayoutListener
。但它已被弃用。
Code :
searchWebView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// Do something
// Remove listener
}
});
如何去除onGlobalLayoutListener
?
Edit :
您可以删除OnGlobalLayoutListener
使用以下代码。仍然会有一个strikethrough
on removeGlobalOnLayoutListener()
,已被弃用。但是,将通过使用注释来处理 lint 警告。
@SuppressWarnings("deprecation")
@SuppressLint("NewApi")
searchWebView.getViewTreeObserver().addOnGlobalLayoutListener(
new OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {
searchWebView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
} else {
searchWebView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
}
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)