说一下recycleView的自动滚动问题

网上无非就是告诉你要加上android:descendantFocusability=”blocksDescendants”
然后就抄来抄去的万事。
其实本来我是拒绝的。
上次看源码还是7年前。
但是公司最近事情少,实在无聊。就点进去了解了一下。

private void recoverFocusFromState() {
        if (!mPreserveFocusAfterLayout || mAdapter == null || !hasFocus()
                || getDescendantFocusability() == FOCUS_BLOCK_DESCENDANTS
                || (getDescendantFocusability() == FOCUS_BEFORE_DESCENDANTS && isFocused())) {
            // No-op if either of these cases happens:
            // 1. RV has no focus, or 2. RV blocks focus to its children, or 3. RV takes focus
            // before its children and is focused (i.e. it already stole the focus away from its
            // descendants).
            return;
        }

可以看到。这里有用到我们的设置项。
其实就是不再去检查子view的焦点。所以直接返回

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容