gpt4 book ai didi

java - 关于 View.onScrollChanged() 的来源

转载 作者:行者123 更新时间:2023-11-29 05:47:16 26 4
gpt4 key购买 nike

这里是 protected void View.onScrollChanged(int l, int t, int oldl, int oldt) 的来源:

/**
* This is called in response to an internal scroll in this view (i.e., the
* view scrolled its own contents). This is typically as a result of
* {@link #scrollBy(int, int)} or {@link #scrollTo(int, int)} having been
* called.
*
* @param l Current horizontal scroll origin.
* @param t Current vertical scroll origin.
* @param oldl Previous horizontal scroll origin.
* @param oldt Previous vertical scroll origin.
*/
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
postSendViewScrolledAccessibilityEventCallback();
}

mBackgroundSizeChanged = true;

final AttachInfo ai = mAttachInfo;
if (ai != null) {
ai.mViewScrollChanged = true;
}
}

问题是关于这一行:final AttachInfo ai = mAttachInfo;。引入 ai 的目的是什么?为什么将其设为 final

最佳答案

很可能,mAttachInfovolatile;那么ai的目的就是为了避免两个线程访问这个对象时出现NullPOinterExceptionmAttachInfo是检查mAttachInfo!=null<后写的 但在执行 mAttachInfo.mViewScrollChanged = true;

之前

关于java - 关于 View.onScrollChanged() 的来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15406025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com