说一下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的焦点。所以直接返回

你可能感兴趣的:(说一下recycleView的自动滚动问题)